Open3

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

meiheimeihei

サーバーの起動

競技用

公式のものなので、一番本番と近いはず。

ベンチマーカー用

公式で用意された AMI は bench がなかったので、matsuu さんの AMI から作成する。

セキュリティグループ

  • payment-url としてベンチマーカー用のサーバーの 12346 番ポートを開けておく
meiheimeihei

ローカルでやること

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]
meiheimeihei

ベンチマーカーで初期スコアが出るようにする

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

https://github.com/isucon/isucon14/blob/main/provisioning/ansible/roles/webapp/files/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 ぐらいの数値。