Catalyst 5.7 vs 5.8でベンチマークを取ってみた
CPANにMoose版Catalystである5.8のdeveloper releaseが出ていたのでベンチマーク取って見ました。
なお、Catalyst::ClassDataがパッケージに含まれていなかったので、これだけリポジトリから持ってきて動かしてます。
テスト内容はcataltst.pl MyAppで出来るトップページをビルトインエンジンで起動して
ab -n 1000 -c 100 http://localhost:3000/
するだけ。
結果はこちら。
Catalyst 5.7014
Server Software: Server Hostname: localhost Server Port: 3000 Document Path: / Document Length: 5635 bytes Concurrency Level: 100 Time taken for tests: 9.484443 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 5805000 bytes HTML transferred: 5635000 bytes Requests per second: 105.44 [#/sec] (mean) Time per request: 948.444 [ms] (mean) Time per request: 9.484 [ms] (mean, across all concurrent requests) Transfer rate: 597.61 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 1.0 0 6 Processing: 13 903 210.1 891 1403 Waiting: 11 902 210.2 890 1403 Total: 19 903 209.3 891 1403 Percentage of the requests served within a certain time (ms) 50% 891 66% 910 75% 916 80% 927 90% 1150 95% 1309 98% 1355 99% 1388 100% 1403 (longest request)
Catalyst 5.8000_01
Server Software: Server Hostname: localhost Server Port: 3000 Document Path: / Document Length: 5641 bytes Concurrency Level: 100 Time taken for tests: 17.217665 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 5814000 bytes HTML transferred: 5641000 bytes Requests per second: 58.08 [#/sec] (mean) Time per request: 1721.766 [ms] (mean) Time per request: 17.218 [ms] (mean, across all concurrent requests) Transfer rate: 329.72 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 1.0 0 6 Processing: 21 1635 299.6 1717 1740 Waiting: 19 1634 299.7 1716 1739 Total: 27 1636 298.6 1717 1740 Percentage of the requests served within a certain time (ms) 50% 1717 66% 1723 75% 1725 80% 1725 90% 1731 95% 1739 98% 1739 99% 1740 100% 1740 (longest request)
Request/Secで約半分かー。これからに期待。