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)

plackup -o 127.0.0.1 -I lib script/myapp.psgi

Requests per second: 11.45 [#/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使わない方がいいじゃないかとかいろいろ考えた。