Open3
ISUCON14 練習環境のセットアップ

サーバーの起動
競技用
- AMI: ami-0e334c50145a3ee41
- InstanceType: c5.large (2vCPU, 4GiB Mem)
- 台数 3 台
公式のものなので、一番本番と近いはず。
ベンチマーカー用
- AMI: ami-085dbd5fe7bd61f07
- InstanceType: c5.large (2vCPU, 4GiB Mem)
- 練習なので
- 台数 1 台
公式で用意された AMI は bench がなかったので、matsuu さんの AMI から作成する。
セキュリティグループ
-
payment-url
としてベンチマーカー用のサーバーの 12346 番ポートを開けておく

ローカルでやること
Web ブラウザでアクセスできるようにする
/etc/hosts
[server-1] isuride.xiv.isucon.net
(自分用)ssh config を作成する
isucon
ユーザーでログインするために、ssh config を作っておく。
cd /path/to/tools/command/
go run ./setup_sshconf/main.go -s [server-1],[server-2],[server-3] -b [server-bench]
(自分用)メンバーの GitHub の公開鍵をサーバーに登録する
チームメンバーの ssh 公開鍵をサーバーの.ssh/authorized_keys
に登録する
https://github.com/meihei3.keys とかでアクセスできるので、curl -s
で取ってきてそのまま.ssh/authorized_keys
に突っ込む
cd /path/to/tools/command/
go run ./setup_practice_env/main.go -s [server-1],[server-2],[server-3],[server-bench]

ベンチマーカーで初期スコアが出るようにする
isuride-matcher.service
からリクエストを送るように
証明書が切れてサーバー内でのhttps://isuride.xiv.isucon.net/api/internal/matching
へのアクセスができなくなっている。-k
で証明書エラーは無視するようにする。
sudo vim /etc/systemd/system/isuride-matcher.service
sudo systemctl restart isuride-matcher.service
- ExecStart=/bin/sh -c "while true; do curl -s https://isuride.xiv.isucon.net/api/internal/matching; sleep $ISUCON_MATCHING_INTERVAL; done"
+ ExecStart=/bin/sh -c "while true; do curl -k -s https://isuride.xiv.isucon.net/api/internal/matching; sleep $ISUCON_MATCHING_INTERVAL; done"
これをやらないと、スコアが 0 のままになる。
ベンチマーカーを実行
静的ファイルのチェックに失敗するので、--skip-static-sanity-check
をつける。
./bench run . run --addr [server-1]:443 --target https://isuride.xiv.isucon.net --payment-url http://[server-bench]:12346 --payment-bind-port 12346 --skip-static-sanity-check
上記の構成で、初期スコア 900 ~ 1000 ぐらいの数値。