angelos@mod_perl
angelosはHTTP::Engineを使っているので、HTTP::Engine以上の速度がでることはないので、HTTP::Engineとの速度差をみながらチューニングをしてみてるんですが、同じコードでもServerSimpleとmod_perlとで10%近く速度に差がでるなぁと。
server simpleでApache benchで計測した場合
- angelos: Requests per second: 568.69 [#/sec] (mean)
- HTTP::Engine Requests per second: 893.33 [#/sec] (mean)
63%
mod_perl下でApache benchで測定した場合 (with App::Bencmark::WAF)
- angelos : 456.21 [#/sec]
- HTTP::Engine: 862.55 [#/sec]
52%
mod_perl下での改善は、まずは動的にロードされるモジュールを調べて、startup.plに書くのを一通りやってみてどこまで縮まるかだなぁ。プロセスの生成のコスト分、時間がかかっているだけであれば、それで少し改善されるかなと。
ただ、それが改善できても、dispatch部分, pluginのhookの実行, controllerのfilter処理くらいなので、そんなに何もしてない割にはスループットがいまいちだなぁと。
HTTP::RouterでDispatcherしないと、mod_perl下で550[#/sec] なので、それでもHTTP::Engineとの200[req/sec]の差がでる。少し差があるような気がするので、どこが原因かを調べたいけど、結構むずいなぁと。