26
Web Framework BenchmarksPerl の現状報告会 YAPC::Asia Tokyo 2014 LT Masahiro Nagano / @kazeburo

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

Embed Size (px)

DESCRIPTION

 

Citation preview

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

Web Framework BenchmarksとPerl の現状報告会

YAPC::Asia Tokyo 2014 LTMasahiro Nagano / @kazeburo

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

Web Framework Benchmarks

• Techempower社が2013年から公開している

• 21言語・100個近いWebアプリケーションフレームワークのベンチマーク

• 定期的にスコア更新。今はRound 9

• ソースコードやベンチマークツールは github で公開されていて、フレームワークの追加修正は

pull-req で行われている

Techempower

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

対象Webアプリケーション• JSON serialize

• Single Query

• Multiple Query

• Fortunes

• Data Updates

• Plaintext

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

ベンチマーク実行環境

• EC2

• Physical Machine

• Core i7 2600K

• dual-Xeon E5-2660v2

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

Perl の現状

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

Perl の現状惨状

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

JSON serialize / dual-Xeon

!

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

JSON serialize / dual-Xeon

!動いてない!!1

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

JSON serialize / Core i7

!

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

JSON serialize / Core i7

!PHPの半分!!1

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

なんとかせな..

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

そうそう、ベンチマークと言えば

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

ISUCON4

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

そういえば、

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

前回優勝者だったわ~

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

本気出したバリュー

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

Round9 HEAD

48.3

90.6100

PHP rack-unicorn Plack

* EC2 c3.xlarge を使用

Benchmark Score

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

Round9 HEAD

48.3

90.6100

123.6128.8

100

PHP rack-unicorn Plack

* EC2 c3.xlarge を使用

Benchmark Score

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

何をやったか

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

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

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

$ 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

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

Web Framework Benchmarksの意味

• Webアプリケーションフレームワークのパフォーマンス比較し、最適なフレームワークを選定するヒント

• 実践的な設定・コードのショーケースとしての役割

Techempower

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

WAF作ったらPullReqだ

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

以上