Catalyst::Engine::HTTP::Prefork
Catalyst::Engine::HTTP::Prefork がうpされました。
http://search.cpan.org/~agrundma/Catalyst-Engine-HTTP-Prefork-0.01/lib/Catalyst/Engine/HTTP/Prefork.pm
This engine is designed to run as a standalone Catalyst server, without requiring the use of another web server. It's goals are high-performance, HTTP/1.1 compliance, and robustness. It is also suitable for use as a faster development server with support for automatic restarting.
このエンジンは、スタンドアロンCatalystサーバとして別のウェブサーバーの使用を必要としないで稼働するように設計されます。 目標が高性能と、HTTP/1.1コンプライアンスと、丈夫さであるということです。 また、それも自動再開のサポートによって、より速い開発サーバとして使用に適しています。
って事でデバッグ用からそのままスタンドアローン鯖として使えるようです。 これは〜いいかも?
早速試してみた
CATALYST_ENGINE='HTTP::Prefork' script/myapp_server.pl
[info] MyApp powered by Catalyst 5.7012 Group Not Defined. Defaulting to EGID '0 10 6 4 3 2 1 0' User Not Defined. Defaulting to EUID '0' You can connect to your server at http://example.com:3000
ab -c 10 -n 1000 http://example.com:3000/
で試してみた
Catalyst::Engine::HTTP::Prefork
CATALYST_ENGINE='HTTP::Prefork' script/myapp_server.pl (デフォルト min_servers = 5, min_spare_servers = 2, max_spare_servers = 10, max_servers = 50, max_requests = 1000) Concurrency Level: 10 Time taken for tests: 25.948675 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 953000 bytes HTML transferred: 784000 bytes Requests per second: 38.54 [#/sec] (mean) Time per request: 259.487 [ms] (mean) Time per request: 25.949 [ms] (mean, across all concurrent requests) Transfer rate: 35.84 [Kbytes/sec] received
catalyst_server.pl
Concurrency Level: 10 Time taken for tests: 41.331677 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 953000 bytes HTML transferred: 784000 bytes Requests per second: 24.19 [#/sec] (mean) Time per request: 413.317 [ms] (mean) Time per request: 41.332 [ms] (mean, across all concurrent requests) Transfer rate: 22.50 [Kbytes/sec] received
アパッチベンチで比べてもあんまいみないかもだけど速い。
実戦投入できるかどうかは不明〜