Catalystアプリでstarmanとかplackをabベンチ
catalystアプリケーションでstarmanを使ってみてabしてみた
ab -n 100 -c 10 http://127.0.0.1:5000/
catalyst server
Requests per second: 15.50 [#/sec] (mean)
starman script/myapp.psgi --host 127.0.0.1 -I lib port 5000 --disable-keepalive --user www
Requests per second: 25.82 [#/sec] (mean)
starman script/myapp.psgi -MCatalyst -MDBIx::Class --host 127.0.0.1 -I lib port 5000 --disable-keepalive --user www
Requests per second: 36.08 [#/sec] (mean)
starman script/myapp.psgi --workers 10 -MCatalyst -MDBIx::Class --host 127.0.0.1 -I lib port 5000 --disable-keepalive --user www
Requests per second: 41.69 [#/sec] (mean)
Apacheプロキシ経由(keepalibe off) starman script/myapp.psgi --workers 10 -MCatalyst -MDBIx::Class --host 127.0.0.1 -I lib port 5000 --disable-keepalive --user www
Requests per second: 25.44 [#/sec] (mean)
ちなみに--workers 100したらスワップしまくってload average100とかいくのでworkersの数には注意、サーバの身の丈にあった数にしましょう。 なんか遅いなあ時間かかるなあと思ったらサーバが死にそうでした あとworkersをworkerと書いてた事もあったりしました
workersを増やす=たくさん処理できるって考えると、なるべく多くメモリ積むか、利用メモリが少なくなるように書いたほうがいいのかなーってそこまでするならcatalyst使わない方がいいじゃないかとかいろいろ考えた。