ISUCONへの道~アプリケーション実行編~
とりあえずvagrantでの環境構築はできたので、実際にアプリケーションを動かして行きたいと思います。
今回はphpで実装を行いたいので、phpで動かすまでをまとめられればと思います。
まずつまづいたのがisuconユーザのパスワード。
わからなかったので、たどり着いたのが、下のページ。
muttan1203.hatenablog.com
一旦ubuntuユーザでログインして、isuconのパスワードを変えてあげれば良い。
$ vagrant ssh image $ whoami ubuntu $ sudo passwd isucon Enter new UNIX password:<パスワード> Retype new UNIX password:<パスワード> passwd: password updated successfully
これでパスワード変更完了。
次に、nginx.confを置き換えます。
// バックアップを取り $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak // php用のconfに置き換えます $ sudo cp /etc/nginx/nginx.php.conf /etc/nginx/nginx.conf // systemctlのリストを確認すると、どうやらperlのアプリケーションが動いているらしい $ systemctl list-units --type=service | grep isucon isucon6-bench-worker.service loaded active running isucon6 bench worker isuda.perl.service loaded active running isucon6 qualifier main application in perl isupam.service loaded active running isupam is an isucon6 qualifier sub application isutar.perl.service loaded active running isucon6 qualifier sub application in perl // perlを停止 $ systemctl stop isutar.perl.service $ systemctl stop isuda.perl.service // phpを起動 $ systemctl start isutar.php.service $ systemctl start isuda.php.service // nginx再起動 $ systemctl restart nginx.service // ベンチ実行 $ ./isucon6q-bench -target http://127.0.0.1 2017/09/28 00:30:53 start pre-checking 2017/09/28 00:30:58 pre-check finished and start main benchmarking 2017/09/28 00:31:53 benchmarking finished {"pass":true,"score":2575,"success":1758,"fail":8,"messages":["リクエストがタイムアウトしました (POST /keyword)","リクエストがタイムアウトしました (POST /login)","リクエストがタイムアウトしました (POST /stars)"]}
一旦ベンチマークが動くところまで行きました。
ちなみにアプリケーションが動作しているIPの確認はifconfigで行いました。
$ ifconfig enp0s3 Link encap:Ethernet HWaddr 02:a4:a0:f1:db:6e inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a4:a0ff:fef1:db6e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:412335 errors:0 dropped:0 overruns:0 frame:0 TX packets:123613 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:570656970 (570.6 MB) TX bytes:8374510 (8.3 MB) enp0s8 Link encap:Ethernet HWaddr 08:00:27:a5:5a:54 inet addr:172.28.128.4 Bcast:172.28.128.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fea5:5a54/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:87 errors:0 dropped:0 overruns:0 frame:0 TX packets:54 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:33304 (33.3 KB) TX bytes:10458 (10.4 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:3480485 errors:0 dropped:0 overruns:0 frame:0 TX packets:3480485 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:58428255407 (58.4 GB) TX bytes:58428255407 (58.4 GB)
これの172.28.128.4にアクセスすると、下記のようなページが確認できました。
wiki的なやつっぽい。
次回はプロファイリングツールの導入を行なってみたいと思います。