Instantly share code, notes, and snippets.

Embed
What would you like to do?
ISUCON3 レギュレーション資料(スライドの転記)

ISUCON3 レギュレーション

スライドの内容をテキストにしたものです。

本番計測コマンドの提出方法 (11/9 15:40追加)

  • 1台目の /home/isucon/release.txt に本番計測時の計測オプション (workloadの値とtargetの値)を書き込んでください。フォーマット指定はありませんので、日本人が読める任意の形式でOKです。
例)
-w 3 -t 1,2,3,4,5
  • 18時の作業終了の時点でファイルが存在しない場合、workload=1, target=1で実施します

今回のお題

  • 画像版のTwitterです
  • 投稿の公開レベルを指定できます
  • タイムラインで新規投稿を取得できます
  • テキストの投稿機能はありません

作業時間

  • 作業時間は11時から18時
  • 18時すぎに一斉再起動を行います(起動順の保証はありません)
  • 再起動後、順次3分間のベンチマークを行います
  • 運営側の本番計測結果が最終スコアとなります

サーバスペック

  • CPU: 2コア
  • メモリ: 4GB
  • HDD: 20GB
  • NIC2つ: 外部用(1Gbps)と内部用(1Gbps)
  • ネットワークの注意点
    • ベンチマークは外部用NICからかかります。この際、ベンチマーク側が帯域を1台100Mbpsに絞ります
    • 会場のWifiを使ってグローバルIPでアクセスしてください
  • CentOS 6.4(x64)
  • OS/カーネルの入れ替えは自由です
  • 入れ替えに伴うトラブルについて、運営側はハングアップ時のリセットのみ対応します

お題アプリ

  • 初期状態で isu${team_id}1 の1台で動作するように構成しています
  • 残りの4台は社長が追加契約した直後の状態なので、まっさらな状態です
  • 残りの4台の使い方は自由です

サーバアカウント

  • これから封筒に入れてお配りします
  • このあと各部屋に戻って全員がスタンバイしたのを運営が確認し、開始の号令が出てから開封してください

ベンチマーク仕様

  • ベンチマーク対象ホストを指定できます
  • 複数指定した場合はラウンドロビンです
  • 作業中は1分でスコアを計測します
  • 最終計測は3分でスコアを計測します
  • 1〜20の範囲でworkloadの指定ができます
  • 画像は差分検出によりチェックしています
  • プロフィールアイコンは20%、投稿画像は5%以上の差分がある場合FAILです
  • ベンチマークの差分検出アルゴリズムと同じツールを提供します。個別の画像の差分を調査したい場合はそれを使ってください

スコア算出方法

  • (a) 画像投稿点 レスポンスタイムが速いほど高スコア
  • (b) タイムライン点 レスポンスタイムが速いほど高スコア
  • (c) その他リクエスト 1リクエスト1点、ただしプロフィールアイコンは0.1点
  • 最終スコア = (a) + (b) + (c)
  • チェッカがFAILを検出した場合 = 最終スコア0点(一発アウト)
  • レスポンスタイム依存のスコア算出方法
    • log( 10 / response_time ) / log(2) で算出
      • 5.0秒 → 1点
      • 1.0秒 → 3.3点
      • 0.1秒 → 6.64点
      • 0.01秒 → 9.9点

作業上の諸注意

データのリセット方法

  • 1台目のサーバにDBの初期データがありますので適宜mysqldumpで復元してください
  • 初期画像はうっかり消すと取り返しのつかないことになります(運営では対応しません)
  • 初期画像はうっかり消すと取り返しのつかないことになります(大事なことなので2回)

ベンチマークの順番待ち

  • ベンチマークの同時実行数には制限があります。ベンチマークをすぐ実行出来ない場合は実行コマンドがその旨表示しますのでしばらくお待ちください。
  • 最大4チーム並列実行可能で、待ちが発生したときは最大4チームまで待てます

その他

作業ミス等によりサーバの応答がなくなったときはご連絡ください。運営側で無慈悲なリブートを実施します。

ベンチマークのFAIL理由は基本的に書いてあるとおりですが、理不尽なFAILと思われる場合(トラブルの場合)は運営側へ速やかに申し出てください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment