Skip to content
ISUCON9 本戦問題
Go PHP Perl Python Vue Ruby Other
Branch: master
Clone or download
Latest commit be46122 Oct 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible 本番のベンチマーかー Oct 4, 2019
bench bench: Fix cancellation Oct 30, 2019
blackbox/payment PaymentでCORSをやめる Oct 5, 2019
docs ドキュメント Oct 7, 2019
webapp usernameとdatabaseが逆だった問題の修正 Oct 7, 2019
.gitignore Ansibleの基本部分 Sep 19, 2019
Makefile いくつか修正 Sep 26, 2019
README.md ドキュメント Oct 7, 2019

README.md

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

http://127.0.0.1:8080

ローカルでのベンチマーカーの起動

必要な環境

ベンチマーカーの起動方法

リポジトリを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
You can’t perform that action at this time.