web framework benchmarksと perl の現状報告会 yapc::asia tokyo 2014 lt
DESCRIPTION
TRANSCRIPT
Web Framework BenchmarksとPerl の現状報告会
YAPC::Asia Tokyo 2014 LTMasahiro Nagano / @kazeburo
Web Framework Benchmarks
• Techempower社が2013年から公開している
• 21言語・100個近いWebアプリケーションフレームワークのベンチマーク
• 定期的にスコア更新。今はRound 9
• ソースコードやベンチマークツールは github で公開されていて、フレームワークの追加修正は
pull-req で行われている
Techempower
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
!
JSON serialize / dual-Xeon
!動いてない!!1
JSON serialize / Core i7
!
JSON serialize / Core i7
!PHPの半分!!1
なんとかせな..
そうそう、ベンチマークと言えば
ISUCON4
そういえば、
前回優勝者だったわ~
本気出したバリュー
Round9 HEAD
48.3
90.6100
PHP rack-unicorn Plack
* EC2 c3.xlarge を使用
Benchmark Score
Round9 HEAD
48.3
90.6100
123.6128.8
100
PHP rack-unicorn Plack
* EC2 c3.xlarge を使用
Benchmark Score
何をやったか
Round 9 HEAD
Perl 5.16.3Active Perl Binary
5.18.2build 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
Web Framework Benchmarksの意味
• Webアプリケーションフレームワークのパフォーマンス比較し、最適なフレームワークを選定するヒント
• 実践的な設定・コードのショーケースとしての役割
Techempower
WAF作ったらPullReqだ
以上