ISUCON9 本戦問題
ドキュメント
スペシャルサンクス
各言語移植
時間の無い中、移植にご協力いただき、誠にありがとうございます。
- @ykzts 氏 (Ruby)
- @kazeburo 氏 (Perl)
- @shoma 氏 (PHP)
(GolangとPythonはさくらインターネット実装です。)
本番当日の動作環境
TBD
ローカルでのアプリケーションの起動
必要な環境
ウェブアプリケーションの起動方法
リポジトリをCloneし、
git clone git@github.com:chibiegg/isucon9-final.git
cd isucon9-final
(cd webapp/frontend && make)
実装言語を指定してBuildとUpをする。
export LANGUAGE=go
docker-compose -f webapp/docker-compose.yml -f webapp/docker-compose.${LANGUAGE}.yml build
docker-compose -f webapp/docker-compose.yml -f webapp/docker-compose.${LANGUAGE}.yml up
ローカルでのベンチマーカーの起動
必要な環境
ベンチマーカーの起動方法
リポジトリをCloneして、ビルドを行う
git clone git@github.com:chibiegg/isucon9-final.git
cd isucon9-final
(cd bench && make)
ビルドされたバイナリは bench/bin/ 配下に配置されるため、ベンチマーカーのバイナリだけ起動する (bin/bench~~~)
(Mac の場合は バイナリ名のサフィックスに _darwin
が、Linuxの場合はバイナリ名のサフィックスに _linux
がつきます)
bench/bin/bench_darwin run --payment=<課金APIのアドレス> --target=<webappのアドレス> --assetdir=<フロントエンドのビルド結果が配置されたディレクトリ>
-
assetdirについて補足
- assetdirは、ベンチマーカーがアプリケーションが正常動作しているかテストする際に用いられます
- 当問題ではフロントエンドがVue.jsで実装されているため、webapp/frontend/dist を指定することになります
-
出力が大変多いので、詳しく調査したい場合は teeコマンドなどでログに書き出すことをお勧めいたします
デプロイ
make archive
cd ansible
ansible-playbook -i hosts -u root -s -c paramiko -D playbook.yml
既知の問題
コンテスト開催中にも残っており、準備中に発覚しなかった問題。
- 座席情報が誤っている #209
修正済み
- Ruby実装で、データベースの環境変数参照が誤っていた #211