ISUCON公式Blog

WINNER'S PRIZE \1,000,000



   

参加者

予選参加者(以下参加者)はチームで登録するものとし、チームは2名もしくは3名での登録とする。予選参加者は予選の第1日目、第2日目のいずれかのみに参加することができる。参加者は「一般枠」「学生枠」のいずれかに登録すること。
  • 学生枠: チームメンバー全員が学生・生徒であること(年齢は問わないが社会人学生は対象外とする)
  • 一般枠: 学生枠に該当しない参加チーム

  • 学生枠に該当するチームが一般枠に登録することはできる。

    連絡手段

    参加登録時に入力した代表者のメールアドレスを主催者からの連絡先として利用します。返答が必要な連絡に対して返答が得られなかった場合、当日競技環境を提供できない可能性があります。定期的なメールチェックをお願いいたします。

    競技時間

  • 予選第1日目: 2017年10月21日(土) 10:00〜18:0013:13〜21:13(JST)
  • 予選第2日目: 2017年10月22日(日) 10:00〜18:0013:00〜21:00(JST)


  • 禁止事項

    以下の行為を特に禁止する。
  • 予選第2日目 18:00競技終了時間までの、予選出題内容に関するあらゆる事項の公開
  • 主催者が他チームへの妨害とみなす全ての行為


  • サーバー事項

    サーバーは主催者で用意する。パスワード認証でsshできるように構成されており、パスワードは事前にメールで通知され、IPアドレスは当日用意されるポータルサイトから確認できる。

    サーバーは sudo reboot コマンドで再起動できるが、停止した場合は参加者側からの起動はできない。(その場合は運営からの救済措置は保証しない。)

    ソフトウェア事項

    コンテストにあたり、参加者は与えられたソフトウェア、もしくは自分で競技時間内に実装したソフトウェアを用いる。 高速化対象のソフトウェアとして主催者から Perl, Ruby, Python, PHP, Node.js, Go によるWebアプリケーションが与えられる。 ただし各々の性能が一致することを主催者は保証しない。どれをベースに用いてもよいし、独自で実装したものを用いてもよい。

    競技における高速化対象のアプリケーションとして与えられたアプリケーションから、以下の部分は変更しないこと。

  • アクセス先のURI、ただしサーバー側で生成する部分(IDなど)は文字種([0-9] や [0-9a-zA-Z_] など)を変えない範囲で自由に生成しても良い
  • レスポンス(HTML)のDOM構造(表示に影響しない範囲での空白文字の増減は許可される)
  • JavaScript/CSSファイルの内容
  • 画像および動画等のメディアファイルの内容


  • 各サーバにおけるソフトウェアの入れ替え、設定の変更、アプリケーションコードの変更および入れ替えなどは一切禁止しない。 ベンチマーク中に与えられたサーバー以外の外部リソースを利用する行為 (他のインスタンスに処理を委譲するなど) は禁止する。ただしモニタリングやテスト、開発などは、PCや外部のサーバーを利用しても構わない。

    許可される事項には、例として以下のような作業が含まれる。

  • 複数台あるサーバーの役割の変更
  • DBスキーマの変更やインデックスの作成・削除
  • データベースに利用するミドルウェアの変更
  • キャッシュ機構の追加、ジョブキュー機構の追加による遅延書き込み
  • 他の言語による再実装


  • ただし以下の事項に留意すること。

  • コンテスト進行用のメンテナンスコマンドが正常に動作するよう互換性を保つこと
  • 各サーバの設定およびデータ構造は任意のタイミングでのサーバ再起動に耐えること
  • サーバ再起動後にすべてのアプリケーションコードが正常動作する状態を維持すること
  • ベンチマーク実行時にアプリケーションに書き込まれたデータは再起動後にも取得できること


  • 採点

    採点は採点条件(後述)をクリアした参加者の間で、性能値(後述)の高さを競うものとする。 予選参加者に提供される性能計測ツール(以下計測ツール)に参加者が実行リクエストを送り、その後ツール側から計測用の処理が実行される。

    採点条件として、以下の各チェックの検査を通過するものとする。

  • 負荷走行中、更新を伴うHTTPリクエストに対してレスポンスを返した後は、以降に発生したリクエストにその更新結果が正しく反映されていること
  • 参照実装と同じHTTPステータスコードを返すこと
  • 当日マニュアルに記載される時間以内にレスポンスを返すこと
  • 例外として、並列度の高い負荷で発生するステータスコード500のエラーとタイムアウトは失格扱いにせず、加点も減点もしない
  • レスポンスHTMLのDOM構造が変化していないこと(表示に影響しない範囲での空白文字の変更は認める)
  • レスポンスJSONが、データとして等価であること
  • ブラウザから対象アプリケーションにアクセスした結果、ページ上の表示および各種動作が正常であること


  • 性能値として、以下の指標を用いる。計測ツールの実行時間は1分間とする。細かい閾値ならびに配点についての詳細は予選当日のマニュアルに記載する。

  • 計測時間内に成功したHTTPリクエストに対して、当日マニュアルに記載される配点で加点する。
  • 500エラーやタイムアウトは加点も減点もしない


  • 本選出場チームの選出

    競技時間中に計測され登録された計測値によって、本選出場チームが選出される。 基本的に、計測値としては時間内の最後に登録された値を用いる。

    一般枠 (計18チーム)

    1. 予選各日の終了時スコアにおける上位3チーム
    2. 予選両日を通し、1の該当チームを除いた中での上位12チーム

    学生枠 (12チーム)

    1. 予選両日を通し学生枠参加チーム内における上位12チーム
    ただし、学生チームが一般枠の基準で通過した場合、学生枠はそのチームを含めずに12チームを選出する

    備考

    予選終了後、主催者はサーバーに対して再起動を含む追試をおこなう。ここで、アプリケーションが正常に動作しない、あるいは予選結果として登録されたスコアに近い結果が再現されない場合、ベンチマークの結果に捏造があると判断される場合には、判断基準の公開と共にそのチームは失格とする。失格が発生した場合、適宜繰り上げをおこない、本選出場チームを選出する。

    その他

    参加者は、予選第2日目の競技終了時刻までの間、予選出題内容、計測ツールの計測方法について知り得た情報を自チーム、もしくは主催者以外の人間に共有してはならない。 ただし主催者が公開している情報を除く。
    Read more...

    LINEが主催するパフォーマンスチューニングコンテスト ISUCON7のオンライン予選、皆さんもうすでにお申込みは完了されましたでしょうか?お申込みはこちらからですので、ギリギリにならないよう早めにお申込みください。ISUCONで勝つためには「申込をする」が最重要ですよ!
    ISUCON7 オンライン予選の参加登録を開始&参加チームとメンバーリスト : ISUCON公式Blog

    さて、そろそろ締め切りも近くなってまいりました。「もし出場しようか悩んでいるという方がいたらこれはまずい!」と思い、過去のISUCONで優勝した経験をお持ちの皆さんに
  • あなたにとってISUCONはどんなイベントですか
  • 優勝した時の勝因は何でしたか
  • 参加しよう、してみたいという人に向けて一言お願いします!
  • というのをセットで聞いてみました。

    参考までに、ISUCONは過去6回開催されており1チーム3名が標準的ですので18名の優勝者がいる計算ですが連覇や複数回優勝を成し遂げているチームが多いため、実際には優勝経験者は9名となっています。インタビューしてみたら何だか豪華な布陣となったので満足しています。


    というわけで、あなたにとってのISUCONが始まりますように!ちなみに過去問への挑戦などはPC版でこのエントリを見た際、左カラムにそれぞれまとめがありますのでご参照ください。 ではどうぞ!

    @tagomoris さん

    2Otf6_Ln_400x400
    Twitter:@tagomoris Blog:たごもりすメモ
    過去の戦績:ISUCON1 出題、ISUCON2 出題、ISUCON3 優勝、ISUCON4 優勝、ISUCON5 出題
    tagomorisさんはISUCONの創設者でもあります。

    あなたにとってISUCONはどんなイベントですか?

    自分にとっては、年に一度のガチンコ勝負、という感じのイベントです。
    普段だと働いている場所や状況などによって「何ができるか」「何をしたらよいか」は異なるのが当たり前ですが、ISUCONに限っては全員が同じ状況で、同じ目的で作業をします。
    自分が適切なことを高いパフォーマンスで行えるかどうかを客観的に見られる、非常に貴重で楽しい機会です。

    優勝した時の勝因は何でしたか

    まずWebアプリケーションとして必要な改善をひと通り行えたこと(低パフォーマンスクエリの改善やDBスキーマ変更、非効率ロジックの改善、複数台構成への変更など)、その上で課題アプリケーションに特化したプラスアルファの変更が行えたことだと思います。
    レスポンストラフィックのデータ特性(高解像度の写真)にあわせたデータ前処理、ISUCON4の場合はWebのキャッシュの有効化、などの状況によって異なる、現実のアプリケーションについて回るポイントを抑えられたのが勝因の最後のひとつでしょうか。

    参加しよう、してみたいという人に向けて一言!

    自分に何ができて何ができないかを正面から見詰めるのは、精神的にしんどいものでもありますが、同時に非常に楽しく後々のためになるものでもあります。
    またISUCONは参加するだけで非常に疲れますし、休日を使うことにもなりますが、他では決して得られない経験が得られると断言できるでしょう。
    さあ、勝利の瞬間のガッツポーズというプログラマ生活に滅多にない体験をいっしょに目指してみようじゃないか!


    Read more...

    ISUCON7 オンライン予選の参加登録を開始&参加チームとメンバーリストにてお知らせしていました課題アプリケーションの実装について、お手伝いいただける方を募集いたします。オンライン予選の開催まで残り時間が少ないですが是非ご協力ください。

    PHP,Go,Pythonは出題側で用意する予定ですが、Ruby,Perl,Node.jsについてお手伝いいただける方はご協力ください。応募がない場合は残念ながら予選・本選における参考実装が提供されない可能性がありますので是非宜しくお願いいたします。

    お手伝いいただく場合はISUCON7には参加できませんのでご了承ください。謝礼などは出ない予定ですが、ISUCON7の出題チームとして予選・本選にご参加いただけます。問題の修正なども発生する可能性がありますので予選・本選の前後の期間は忙しくなる可能性が高いです。

    すでにISUCON7に応募済みの方で、参加辞退したうえでお手伝いいただける場合はご連絡ください。こちらで参加チームのメンバー変更など行ないます。

    応募はこちらから
    ISUCON7 課題アプリケーション実装お手伝い申し込みフォーム

    応募締切は 10月9日(月) まで。お手伝いいただくか否かは締切後すぐにご連絡いたします。宜しくお願いします!

    Read more...

    ↑このページのトップヘ