Web Framework Benchmarksと 
Perl の現状報告会 
YAPC::Asia Tokyo 2014 LT 
Masahiro Nagano / @kazeburo
Techempower 
Web Framework Benchmarks 
• Techempower社が2013年から公開している 
• 21言語・100個近いWebアプリケーション 
フレームワークのベンチマーク 
• 定期的にスコア更新。今はRound 9 
• ソースコードやベンチマークツールは github で 
公開されていて、フレームワークの追加修正は 
pull-req で行われている
http://www.techempower.com/benchmarks/
対象Webアプリケーション 
• JSON serialize 
• Single Query 
• Multiple Query 
• Fortunes 
• Data Updates 
• Plaintext
ベンチマーク実行環境 
• EC2 
• Physical Machine 
• Core i7 2600K 
• dual-Xeon E5-2660v2
Perl の現状
惨状 
Perl の現状
! 
JSON serialize / dual-Xeon
! 動いてない!!1 
JSON serialize / dual-Xeon
JSON serialize / Core i7 
!
JSON serialize / Core i7 
! 
PHPの半分!!1
なんとかせな..
そうそう、 
ベンチマークと言えば
ISUCON4
そういえば、
前回優勝者だったわ~
本気出したバリュー
Benchmark Score 
48.3 
90.6 
Round9 HEAD 
100 
PHP rack-unicorn Plack 
* EC2 c3.xlarge を使用
Benchmark Score 
48.3 
90.6 
Round9 HEAD 
100 
123.6 
128.8 
100 
PHP rack-unicorn Plack 
* EC2 c3.xlarge を使用
何をやったか
Round 9 HEAD 
Perl 5.16.3 
Active Perl Binary 
5.18.2 
build from source 
Reverse Proxy - Nginx 
PSGI Handler Monoceros Starlet 
plackup arguments default Optimized
$ start_server 
--backlog 16384  
--path ./app.sock  
-- 
plackup -E production  
-s Starlet  
--max-keepalive-reqs 1000  
--max-reqs-per-child 50000  
--min-reqs-per-child 40000  
--max-worker 8  
-a ./app.psgi
Techempower 
Web Framework Benchmarksの意味 
• Webアプリケーションフレームワーク 
のパフォーマンス比較し、最適なフレ 
ームワークを選定するヒント 
• 実践的な設定・コードのショーケース 
としての役割
WAF作ったらPullReqだ
以上

Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT