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

10,433 views

Published on

Published in: Internet

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

  1. 1. Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT Masahiro Nagano / @kazeburo
  2. 2. Techempower Web Framework Benchmarks • Techempower社が2013年から公開している • 21言語・100個近いWebアプリケーション フレームワークのベンチマーク • 定期的にスコア更新。今はRound 9 • ソースコードやベンチマークツールは github で 公開されていて、フレームワークの追加修正は pull-req で行われている
  3. 3. http://www.techempower.com/benchmarks/
  4. 4. 対象Webアプリケーション • JSON serialize • Single Query • Multiple Query • Fortunes • Data Updates • Plaintext
  5. 5. ベンチマーク実行環境 • EC2 • Physical Machine • Core i7 2600K • dual-Xeon E5-2660v2
  6. 6. Perl の現状
  7. 7. 惨状 Perl の現状
  8. 8. ! JSON serialize / dual-Xeon
  9. 9. ! 動いてない!!1 JSON serialize / dual-Xeon
  10. 10. JSON serialize / Core i7 !
  11. 11. JSON serialize / Core i7 ! PHPの半分!!1
  12. 12. なんとかせな..
  13. 13. そうそう、 ベンチマークと言えば
  14. 14. ISUCON4
  15. 15. そういえば、
  16. 16. 前回優勝者だったわ~
  17. 17. 本気出したバリュー
  18. 18. Benchmark Score 48.3 90.6 Round9 HEAD 100 PHP rack-unicorn Plack * EC2 c3.xlarge を使用
  19. 19. Benchmark Score 48.3 90.6 Round9 HEAD 100 123.6 128.8 100 PHP rack-unicorn Plack * EC2 c3.xlarge を使用
  20. 20. 何をやったか
  21. 21. 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
  22. 22. $ 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
  23. 23. Techempower Web Framework Benchmarksの意味 • Webアプリケーションフレームワーク のパフォーマンス比較し、最適なフレ ームワークを選定するヒント • 実践的な設定・コードのショーケース としての役割
  24. 24. WAF作ったらPullReqだ
  25. 25. 以上

×