Repository navigation
Home
| 用途 | ホストPCから開くURL | 備考 |
|---|---|---|
| pprotein 計測ダッシュボード | http://localhost:9000/ | CPU・HTTPログ・SQLログの収集と表示 |
| SaaS管理者 | https://admin.t.isucon.dev/ | テナント追加・テナント横断の請求確認 |
テナント isucon
|
https://isucon.t.isucon.dev/ | 管理者モード・参加者モード |
テナント kayac
|
https://kayac.t.isucon.dev/ | 別テナントでの動作確認 |
| pproteinの収集先設定 | http://localhost:9000/api/group/targets | 現在の収集先をJSONで表示 |
| CPUプロファイル一覧 | http://localhost:9000/api/pprof | JSON。通常はダッシュボードから閲覧 |
| HTTPログ集計一覧 | http://localhost:9000/api/httplog | JSON。通常はダッシュボードから閲覧 |
| SQLログ集計一覧 | http://localhost:9000/api/slowlog | JSON。通常はダッシュボードから閲覧 |
| alp設定 | http://localhost:9000/api/httplog/config | 現在のHTTP集計設定 |
| slp設定 | http://localhost:9000/api/slowlog/config | 現在のSQL集計設定 |
パスワードは不要です。参加者IDはマニュアルの初期データ例です。
| ログイン先 | 役割 | アカウントID・画面での操作 |
|---|---|---|
admin.t.isucon.dev |
SaaS管理者 | アカウント名を変更せず「認証する」 |
isucon.t.isucon.dev |
テナント管理者 | 右上の「テナント管理者モードに切り替える」。ID入力不要 |
isucon.t.isucon.dev |
参加者 | アカウントIDに 0001 を入力して「認証する」 |
kayac.t.isucon.dev |
テナント管理者 | 右上の「テナント管理者モードに切り替える」。ID入力不要 |
kayac.t.isucon.dev |
参加者 | アカウントIDに 0002 を入力して「認証する」 |
https://localhost/ と公開IPの直打ちはアプリ用URLとして使わない。
管理者・テナントの判定にHostヘッダーが必要で、nginxの既定サイトは404を返す。
ブラウザーで証明書警告が出る場合は、練習用TLS証明書と手元の信頼設定を確認する。
| 役割 | POSTするURL |
|---|---|
| SaaS管理者 | https://admin.t.isucon.dev/auth/login/admin |
| テナント管理者 | https://isucon.t.isucon.dev/auth/login/organizer |
| 参加者 | https://isucon.t.isucon.dev/auth/login/player?id=0001 |
これらもホストPCの443番の転送を利用する。/auth/ 自体はログイン画面URLではない。
0001 はマニュアルの初期データ例。認証の仕組みは アプリの仕組み を参照。
curl --fail http://localhost:9000/api/group/collectこのGETは設定された3種類の収集を開始する。設定・一覧を読むAPIとは異なり、計測を実行する。 ベンチに「負荷走行を開始します」が出たタイミングで実行する。計測と記録の手順。
| 用途 | 接続先・URL |
|---|---|
| SSH | ssh -i ~/.ssh/isucon.pem -o IdentitiesOnly=yes ubuntu@18.183.156.199 |
| EC2公開DNS | ec2-18-183-156-199.ap-northeast-1.compute.amazonaws.com |
| 作業リポジトリ | bianchiidentity/isucon12 |
| Git SSH | git@github.com:bianchiidentity/isucon12.git |
| このWiki | Wiki Home |
| Wiki Git SSH | git@github.com:bianchiidentity/isucon12.wiki.git |
| 初期状態タグ | initial-state |
公開IP・DNSは2026-10-10時点のEC2メタデータから確認。EC2の停止・起動等で変わる場合がある。
サーバー内部の接続先(追加の転送なしではホストPCから直接開かない)
| 対象 | サーバー内部の接続先 | 用途 |
|---|---|---|
| Goアプリ | http://127.0.0.1:3000 |
nginxの転送先。APIアクセスには適切なHostが必要 |
| blackauth | http://127.0.0.1:3001 |
nginxの /auth/ 転送先 |
| アプリCPUプロファイル | http://127.0.0.1:6060/debug/pprof/profile?seconds=60 |
pproteinが収集するGoアプリ本体のCPUプロファイル |
| アプリpprof一覧 | http://127.0.0.1:6060/debug/pprof/ |
Goのプロファイル一覧 |
| HTTPログ収集agent | http://127.0.0.1:19000/debug/log/httplog?seconds=60 |
収集開始以降に追加されたnginxログ |
| SQLログ収集agent | http://127.0.0.1:19000/debug/log/slowlog?seconds=60 |
収集開始以降に追加されたMySQLログ |
| MySQL | mysql://127.0.0.1:3306/isuports |
DB接続先の表記。ブラウザー用ではない |
| Redis | redis://127.0.0.1:6379 |
Redis接続先。ブラウザー用ではない |
6060・19000・DBのポートは今回のホストPCへの転送対象ではない。 CPU・ログはpproteinの9000番から収集・閲覧できる。
実画面のスライドで見る:大会運営の流れ・ブラウザE2E — テナント作成から請求・失格まで、8枚で確認できます。
ISUPORTSは、団体ごとに大会・参加者・ランキングを管理するサービス。練習では、挙動を保ちながら処理性能を上げる。
2022年のマニュアル2本を、練習中に参照しやすい順に要約しています。当時の競技条件と現在の練習環境は区別してください。
- テナント=利用団体。 団体ごとに管理対象が分かれ、ホスト名でアクセス先が変わる。
- 管理者が大会とスコアを登録し、参加者が見る。 大会終了後はCSVを入稿できない。失格者の参加者向けAPIは403になる。
- ベンチは初期化 → 互換性チェック → 60秒の負荷走行。 初期化は30秒でタイムアウトする。
- エラーを減らすことも性能改善。 通常エラー1件で1%、Criticalエラー1件で10%減点される。
- 再起動しても動くこと。 当時の追試は再起動後のベンチ、データの永続性、ブラウザの挙動も確認する。
| やりたいこと | 読むページ |
|---|---|
| 登場人物・操作・ログインを理解する | アプリの仕組み |
| 15〜30分で処理・DB・改善候補を把握する | アプリ全体の地図 |
| 仕様と実行ログから負荷試験の狙いを考える | 負荷試験の観点 |
| 得点・エラー・反映猶予・初期化の条件を確認する | ベンチと改善時の制約 |
| この練習環境の構成・初期データを確認する | リポジトリREADME |
| サーバー構成・変更反映・サービス操作を確認する | サーバー運用 |
| 初回スコアとベンチの実行条件を確認する | 計測記録 |
| 計測して、時刻・変更内容・スコア・Issueを残す | 計測記録 |
| 初期状態・データの復元方法を確認する | 初期状態と復旧 |
現状を計測 → 遅い箇所を調べる → 変更 → 再計測 → 再起動後も確認。
変更内容・スコア・エラー・計測条件を一緒に記録すると、次の判断で過去の作業を思い出す負担が減ります。区切りでブラウザ表示とデータの保持も確認します。この進め方は原文の規則ではなく、練習用の提案です。
- ISUPORTSアプリケーションマニュアル:役割・基本操作・認証。
- ISUCON12 予選当日マニュアル:環境・ベンチ・採点・競技規則。
2026-10-10に確認。細かな判断では原文を優先し、現在のサーバー設定は実環境で確認してください。