ISUCON公式Blog

WINNER'S PRIZE \1,000,000



   

2015/09/30 追記

AMIの使用方法部分を一部変更しました

  • -

ISUCON3 本選で使用したアプリ、ベンチマークのソースコードと、お手軽にお試しいただけるAMI (Amazon Machine Image)が準備できましたのでお知らせです。

ソースコードはGitHub上で公開しています。 https://github.com/kayac/isucon3

AMI-id は ami-25046324 です。Tokyoリージョンで isucon3-final で検索しても見つかるかと思います。

なお、本選のお題の性質的に仮想化方式が HVM でないと初期状態での性能が出ずにベンチマークが通らないため、提供されるAMIから起動できるインスタンスタイプは m3.xlarge, m3.2xlarge などの HVM 対応タイプのみです。インスタンス費用にはご注意ください。

AMIの使用方法

AMI-id ami-25046324 からインスタンスを起動してください。起動直後の状態ではライセンスの関係上、出題に使用した画像データとデータベース内容が含まれていないため、まずそれをセットアップする必要があります。

# su - isucon
$ cd isucon3/final/bench
$ git fetch
$ git merge origin/master
$ ./prepare-images.sh
$ ./init.sh

画像データをダウンロードして出題に利用できる形態に加工するため、少々時間が掛かります。 その後、Supervisord を再起動すると Perl 実装が起動した本選開始時点の1台目のサーバの状態になります。

$ sudo service supervisord restart

インスタンスのグローバルIPアドレスに対して http://[ip-address]/ で接続すると、テスト用の HTML + JavaScript での画面が表示されるはずです。

各言語版の実行方法は、 /home/isucon/webapp/{perl,ruby,python,nodejs,php,go} の各ディレクトリ内の README.md を参照してください。

ベンチマーク実行方法

$ cd isucon3/final/bench
$ carton exec perl bench.pl -d /home/isucon/image_source http://127.0.0.1/

ベンチマークスクリプトのオプションは README.md に記載されています。最低限、アップロードに使用する画像が入ったディレクトリを指定する -d と、対象URL http://127.0.0.1/ の指定が必要です。他のホストに対してベンチマークを実行する場合は、http://127.0.0.1/ の部分を対象ホストに変更してください。

他には -w [workload] -t [seconds] も指定可能です。競技中は -t 60 (デフォルト)、最終計測では -t 180 で実行されています。

本選の初期状態ではおおよそ1800点前後のスコアでした(ベンチマークが別ホストから実行されています)。AMI を m3.xlarge で起動すると、同一ホストでベンチマークを実行して2000〜2200点程度のスコアになるようです。

CentOS-6 環境で実行する方法

AWSだけではなく、さくらのクラウドなど CentOS-6 を利用できる環境であれば、リポジトリに含まれている Chef cookbook を使用することで環境を設定することが可能です。

既存の環境で実行すると iptables, MySQL などを置き換えてしまいますのでクリーンな状態から実行するようご注意ください。

# git checkout https://github.com/kayac/isucon3.git
# cd isucon3/final/chef
# ./setup-chef.sh
# chef-solo -c solo.rb -j nodes/isucon3.json

作成される isucon ユーザはパスワード未設定、sudoers に登録がないため、適宜 visudo を実行するなどしてください。 これで提供 AMI とほぼ同様の環境になりますので、以降の初期データ用意などは上記 AMI の使用方法と同様です。

注意事項

インスタンスの実行に掛かる費用は、インスタンスを起動したアカウントに請求されます。運営では一切関知しませんのでご注意ください。

Read more...

【2013.11.15 追記】
一部修正し、全データとしました
--
櫛井です。
ISUCON オンライン予選 利用言語比率と順位ごとの利用言語を行いましたので本選についてもまとめてみました。

第三回 ISUCON本選 利用言語比率

利用率の全体ランキングは以下の通りです。利用言語は複数選択可となっており、参加チーム数は25です。

44% Perl
36% Ruby
12%  Python
4%  PHP
4%  Node.js
4%  Go

第三回 ISUCON本選 順位別利用言語

以下のようになっています。

1位 Perl LINE選抜「チーム生ハム原木」
2位 Ruby オシャレ怪盗スワロウテイル
3位 Perl Fulab
4位 Ruby くらげとみかんと江戸幕府
5位 Perl 山形組
6位 Ruby 銀杏絶滅しろ
7位 Perl Third Party Cookies
-- Node.js Noder
-- PHP  チームたこやき
-- Ruby 白金動物園
-- Python, Go ぜかまし
-- Perl 坂パスタ
-- Perl └('-'└)└)└)<HEARTBEATS
-- Perl 50ms or die.
-- Perl チームぽわわ2
-- Ruby カヤック選抜「流れ弾」
-- Python 勝浦タンタンメン
-- Python かまたまうどん
-- Ruby  ( (0) / (0)) ☆祝☆
-- Perl 進撃の超大型パティスリー兄弟
-- Ruby Miami
-- Perl 335
-- Ruby :ok_woman:
-- Ruby The Revenge of Mr. Frank & Co.
-- Perl 潰すつもりで来てください


以上です。

ご参加いただいた皆さんの感想などはこちらにまとめています。
第三回 ISUCON本選 関連エントリまとめ : ISUCON公式Blog
Read more...

櫛井です。

表題の内容で、ISUCON3の予選と本選の出題をご担当いただいた面白法人カヤックさん主催で開催していただけることとなりました。私もお邪魔する予定です。

内容

本イベントはISUCON3優勝者のLINE選抜「チーム生ハム原木」チームをゲストに招き、出題者の @fujiwara から問題およびベンチマークプログラムの解説、優勝チームから実際のソースコードを交えた方針と実装の解説をしていただくイベントです。
〜イベントページより抜粋〜

ISUCONに参加していない方もOKとのことですので、皆さま是非!

応募はこちらから
ISUCON3反省会 on Zusaar
Read more...

↑このページのトップヘ