- 10:00 受付
- 11:00 競技開始
- 13:00 (頃) お弁当配布
- 18:00 競技終了
- 19:00 (頃) コンテスト結果発表
スコア算出方法や禁止事項などは以下のレギュレーションを参照してください。
https://isucon4-portal.herokuapp.com/
上記リンクを開き、チームの API キーを入力してログインしてください。
API キーはサーバー上の /home/isucon/env_variables.sh
に ISUCON_API_KEY
環境変数として定義されています。
下記コマンドで確認が可能です。
[isucon@isu01b ~]$ echo $ISUCON_API_KEY
ポータルサイトにログイン後、ヘッダーに表示されているチーム名が正しいか必ず確認してください。 もし自身のチーム名と異なる場合は、運営チームにチャットまたは口頭まで問い合わせてください。
参考実装のアプリケーションコードおよび、スコア計測用プログラムは /home/isucon
ディレクトリ以下にあります。
/home/isucon
├ benchmarker # スコア計測用プログラム
├ env.sh # ↓の環境変数ラッパー
├ env_variables.sh # アプリケーション用の環境変数
└ webapp/ # 各言語の参考実装
参考実装の言語は Ruby, Python, PHP, Perl, Go が用意されており、初期状態では Ruby の実装が起動しています。
80番ポートでアクセスできるので、ブラウザから動作確認をすることができます。
起動する実装を Ruby 以外に切り替えるには、まず supervisord
を終了させます。
sudo /etc/init.d/supervisord stop
その後、 /etc/supervisord.conf
において希望の言語を autostart=true
にし、 [isucon_ruby]
を autostart=false
したうえで、
sudo /etc/init.d/supervisord start
を実行することで切り替えることができます。
なお、PHP を利用する場合のみ、上記に加えて、以下の操作を行ってください。
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
sudo mv /etc/nginx/nginx.php.conf /etc/nginx/nginx.conf
sudo /etc/init.d/nginx restart
イスコンAd は動画広告配信アプリケーションです。
/
にアクセスすると、下記のようなページが表示されます。
- パラメータ
advertiser
は、出稿主の ID を表す文字列です。スラッシュ/
を除くあらゆる文字が利用可能です。 - パラメータ
slot
は、広告枠を表す文字列です。スラッシュ/
を除くあらゆる文字が利用可能です。
"Create Ad" フォームを入力して Post をクリックすると、ファイルがアップロードされ広告が入稿されます。
/view.html
にアクセスし、"Display test" に slot を入力して Show をクリックすると、指定した slot に入稿されている広告が表示されます。
広告をクリックすると再生が始まり、再度クリックすると destination
へリダイレクトします。
/view.html
にアクセスし、"User attribute test" のフォームに入力し Set をクリックすることで、isuad
クッキーをブラウザに付与することができます。
/
へアクセスし、"Report test" フォームに advertiser を入力し、Show report, Show final_report をクリックする事でレポートを表示することができます。
課題アプリケーションのベンチマークを行うには、各サーバにある /home/isucon/benchmarker
を用います。
benchmarker には、ローカルで実行して動作確認をするための bench
オプションと、共有のベンチマークサーバから負荷をかけてもらう remote
オプションがあります。
スコアとして採用されるのは remote
で実行した場合のみなのでご注意ください。
詳しい使い方は benchmarker help
コマンドでご確認ください。
チャット等で問い合わせのあった質問と、その回答は以下に掲載しています。随時更新するので、質問する前に確認してみてください。