前回は webapp を Azure 上に deploy しました。 今回は bench tool を 同じ Virtual Machines 上に配備したいと思います。
ベンチマークの取り方
ここでは Virtual Machines に deploy した webapp と同じ場所でベンチツールを実行するようにしてみます。
isucon5-qualify/gcp/bench/ansible
の配下にある 02_xbuild_part.yml
と 06_deploy_bench_tool.yml
を少し修正します。
02_xbuild_part.yml
--- - hosts: all - sudo: yes - sudo_user: isucon + #sudo: yes + #sudo_user: isucon gather_facts: no tasks: - git: @@ -14,6 +14,7 @@ creates: /home/isucon/.local/ruby/bin/ruby - hosts: all + become: true gather_facts: no tasks: # java
06_deploy_bench_tool.yml
--- - hosts: all gather_facts: no - sudo: yes - sudo_user: isucon + # sudo: yes + # sudo_user: isucon tasks: - git: repo=https://github.com/isucon/isucon5-qualify.git @@ -17,6 +17,7 @@ chdir: /home/isucon/isucon5-qualify/bench - hosts: all + become: true gather_facts: no
以下を実行します。
% YOUR_IP=13.XXX.XXX.XXX # 適宜変更してください % YOUR_KEY=~/.ssh/id_rsa # 適宜変更してください % ansible-playbook --private-key="${YOUR_KEY}" -u isucon 02_xbuild_part.yml 06_deploy_bench_tool.yml
jq が入ってないと思うので install します。
sudo apt install jq
bench を実行します
cd ${HOME}/isucon5-qualify/bench jq '.[0]' < ../webapp/script/testsets/testsets.json | gradle run -Pargs="net.isucon.isucon5q.bench.scenario.Isucon5Qualification 127.0.0.1"
とりあえずこんな結果になりました。
{ "valid" : true, "requests" : 193, "elapsed" : 80419, "done" : "[{Isucon5InitExecutor},{BootstrapChecker},{Isucon5Load,Isucon5Load,Isucon5Load,Isucon5Load,Isucon5Checker}]", "responses" : { "success" : 138, "redirect" : 54, "failure" : 1, "error" : 0, "exception" : 0 }, "violations" : [ ] }
ちなみに使用しているサイズは Basic A2 (2 コア、3.5 GB メモリ) です。