予選レギュレーションも併せてご確認ください。ポータルサイト予選進行は以下のポータルからベンチマーク走行のリクエスト・結果チェックを行って進行します。事前に登録した情報を用いてログインしてください。このページは競技終了時間になると即座に閲覧不可能になります。https://portal.isucon.net/contest/ポータルサイトでは、ベンチマーカーが負荷をかける対象となるサーバーを1台に加え、競技に利用するサーバーを2台入力することができます。後述する競技後の追試でもこの設定を利用します。追試が実行できない場合は失格になるので、競技終了までにこの情報が正しいことを必ず確認してください。ポータルサイトでは、ベンチマーク走行の処理状況も確認できます。ベンチマーク走行が待機中もしくは実行中の間はリクエストは追加できません。Cloud上のサーバーインスタンス(ECS)を指定したOSイメージから起動し、利用します。インスタンスは最大3台まで起動することができます。ID(数字16桁)」を運営宛にご連絡ください。運営からお知らせをするまで、インスタンスは終了しないでください。お知らせは当日夜あるいは翌日夜までに行います。[重要]競技に利用する以外のインスタンスを起動していた場合は、競技終了までに停止するかリリースしてください。3台より多くのインスタンスが起動している場合、失格となります。やむを得ず、停止できないインスタンスがある場合は速やかに運営まで連絡してください[重要]競技に利用できる計算機資源は主催者側が指定した3台までのインスタンスのみです。外部のメトリクス計測サービスの使用のみ特例として許可しますが、スコアを向上させるいかなる効果も持つものであってはいけません。おいて、運営から追試の終了と結果発表のお知らせが出たあとは、インスタンスを停止・リリースできます。料金が発生することもありますので、忘れずに対応お願いします。以下の順序で作業を開始してください。用いてインスタンスを起動してください。Cloudのアカウントに対して共有が開始されます。起動するインスタンスのスペックインスタンスのスペックは以下を指定してサーバーを起動してください。「イメージファイル展開の確認」の際に作成しています。作成していない場合は以下のblogを参考にしてください事前にイメージの展開の確認をした際のインスタンススペックと同一になります。ログインにはインスタンス作成時に指定したキーペアを使います。ユーザーのアカウントがあります。ユーザーのアカウントに関して、アカウントの削除や既存の公開鍵の削除を行ったことにより主催者による追試をおこなうことができない場合は、失格とします。初期状態ではWebサーバーのグローバルIPアドレスに、ブラウザからアクセスするとアプリが表示されます。アクセスすることで、トップページにアクセスすることができます。isudemo3また、WebサーバーのグローバルIPアドレスにアクセスするとTLS証明書に関するエラーが表示されます。このエラーを回避するにはWebサーバーのグローバルIPアドレスが198.51.100.200だった場合、MacやLinuxであれば/etc/hostsに以下の行を追加する必要があります。isucon9.catatsuy.org後述するベンチマークはこちらの証明書を使用します。負荷走行ベンチマーク走行を行う際はポータルサイト上からリクエストします。リクエストの際には対象となるサーバーの設定が必要です。ポータルサイト上のServersタブにアクセスして、ベンチマーク走行を実行したいサーバーを追加してください。その後、追加したサーバーをベンチマークの対象として設定を保存してください。ポータルサイト上のDashboardタブにアクセスして、Enqueueをクリックすると、ベンチマーク走行リクエストがキューイングされ、主催者が用意したベンチマークサーバーにより順次処理されます。詳細については後述します。初期状態ではGoによる実装が起動している状態になります。参照実装をGoからPerlに切り替えるには次のようにします。設定ファイルの変更が必要です。nginx.serviceリカバリ方法DB(isucari)を初期状態にもどすには、次のコマンドを実行します。serviceを用意しています。以下の手順で利用することができます。叩いて設定を反映してください。@initialize.jsonまたベンチマーク走行時にこの値は書き換わるので、ベンチマーク走行後に確認したい場合も都度実行する必要があります。ISUCARIについてストーリーISUCARIは椅子を売りたい人/買いたい人をつなげるフリマアプリです。社長「緊急メンテナンスをいれていいので18時までに改修しろ。指定された競技用サーバーインスタンス上のアプリケーションのチューニングを行い、それに対するベンチマーク走行のスコアで競技を行います。利用が認められた競技用サーバーのみでアプリケーションの動作が可能であれば、どのような変更を加えても構いません。ベンチマーカーとブラウザの挙動に差異がある場合、ベンチマーカーの挙動を正とします。初期実装は言語毎に若干の挙動の違いはありますが、ベンチマーカーに影響のない挙動に関しては仕様とします。商品取得APIと更新の反映についてISUCARIには以下の商品取得APIがあります。APIに即座に反映してください。APIで即座に情報を更新してください。古いデータの削除、非表示はベンチマーク上で許可されません。各商品一覧取得APIが一度に返す商品数は初期実装と同じ状態を保つ必要があります。新着一覧については、上記の制限を満たした上でよりユーザにあわせた商品の一覧を返すことで、購入の機会を増やすことができます。レスポンスにて、イスコイン還元キャンペーンの「還元率の設定」を返すことができます。この還元率によりユーザが増減します。"実装言語"}campaignが還元率の設定となります。場合はキャンペーン機能が無効になります。languageについては別の項目で説明しています。イスコイン還元の費用が下で説明するスコアから引かれることはありません。ベンチマーク走行ベンチマーク走行は以下のように実施されます。数秒〜数十秒)各ステップで失敗が見付かった場合にはその時点で停止します。負荷走行中のエラーについては、タイムアウトや500エラーを含む幾つかのエラーについては無視され、ベンチマーク走行が継続します。負荷走行が60秒行われた後、レスポンスが返ってきていないリクエストはすべて強制的に切断されます。その際にnginxのアクセスログにステータスコード499が記録されることがありますが、これらのリクエストについては減点の対象外です。ベースに以下の計算式で計算されます。スコア(イスコイン)以下の条件のエラーが発生すると、失格・減点の対象となります。付与されますHTTPステータスコードは、基本的に参照実装と同一のものを想定しています。ベンチマーカーのメッセージは同一のメッセージを1つにまとめます。表示されているメッセージの数とエラー数は一致しないことがあります。減点により0イスコイン以下になった場合は失格となります。以下の事項に抵触すると失格(fail)となり、点数が0点になります。用意された環境内で、チェッカツールが要求する範囲の整合性を担保します。サーバーサイドで処理の変更・データ構造の変更などを行う場合、この処理が行っている内容を漏れなく提供してください。予選終了後に行われる主催者による確認作業(追試)において下記の点が確認できなかった場合は失格となります。レスポンスにて、本競技で利用した言語を出力してください。集計しblogで公表したり、参考情報として利用させていただきます。"実装言語"}languageの値が実装に利用した言語となります。languageが空の場合はベンチマーカーは失敗と見なされます。リーダーボードの更新についてポータルサイト上のリーダーボードのスコアは、競技終了前の1時間は表示は更新されなくなり、自チームのスコアのみ確認が可能になります。予選終了後の作業について予選終了後は、運営が追試を行うため、サーバーインスタンスに対して一切の操作を行わないでください。ベンチマーク走行成績の追試、ならびにデータ永続化、画面表示に関するチェックが行われます。作業完了は当日夜、もしくは翌日夜を予定しています。おける予選の結果発表をもって、この保存期間を終了するものとします。予選は以下のルールで通過者が決定します。各チームの終了時スコアに基づき予選通過者を決定します。最後に提出したスコアがfailしていたチームは失格となります。終了時スコアが同一だった場合、最高スコアが高かったチームを選出します。最高スコアも同一だった場合は、最高スコアを出した時間が早いチームを選出します。チャンネルにて行いますが、基本的に、予選環境の構成・操作方法やベンチマーカーの処理内容については返答しません。以下のURLにこれまで返答された質問などがまとめられています。何かある時には一度ご覧ください。