DB関連のベンチマーク
続いてはDBから値を取得するページのパフォーマンスです。
計測したページではページネーションが動いています。
# indexページを元に計測しています
ab -n 300 -c 30 http://URL/
HHVM | PHP 7.0 | 本番環境 (hhvm) | |
---|---|---|---|
1 |
19.46 |
30.89 | 68.74 |
2 | 19.20 | 36.75 | 71.21 |
3 | 21.79 | 31.77 | 66.29 |
4 | 19.55 | 30.50 | 71.09 |
5 | 17.27 | 29.41 | 71.67 |
6 | 20.90 | 29.73 | 71.27 |
7 | 18.00 | 34.82 | 64.35 |
8 | 29.28 | 24.36 | 73.21 |
9 | 22.86 | 27.46 | 73.08 |
10 | 20.91 | 26.13 | 71.41 |
平均 | 20.922 | 30.182 | 70.226 |
予想速度 (3.35倍) | 70.822 / sec | 101.10 / sec |
先程の静的ページと違い、PHP7.0のほうが安定した速度を保っています。
こちらでは約1.43倍 PHP7.0のほうが早い結果が出ました!
JSONシリアライズ関連
このサイトの記事ページはDBのデーターをRedisにJSON型で格納して
呼び出す際にarray形式に変換して表示しています。
JSONデータのデコードベンチと思ってください。
# /articleページを元に計測しています
ab -n 300 -c 30 http://URL/article/64/
HHVM | PHP 7.0 | 本番環境 (hhvm) | |
---|---|---|---|
1 |
23.13 |
27.26 | 78.75 |
2 | 21.74 | 29.54 | 78.56 |
3 | 17.72 | 28.48 | 81.32 |
4 | 20.29 | 27.89 | 78.07 |
5 | 19.96 | 27.05 | 78.09 |
6 | 19.32 | 28.07 | 78.63 |
7 | 22.90 | 25.15 | 80.08 |
8 | 21.34 | 25.35 | 74.89 |
9 | 21.03 | 23.70 | 75.69 |
10 | 20.91 | 28.29 | 75.90 |
平均 | 20.834 | 27.078 | 77.999 |
予想速度 (3.74倍) | 77.919 / sec | 101.271 / sec |
エクステンションの違いも大きのでしょうか。
こちらでもPHP7.0のほうが1.35倍早い結果が出ました。
Summary
仮想マシン単体でパフォーマンスをうまく計測出来なかったのが残念ですが、
PHP7.0がHHVMより早い結果が出ました。
リストにはしませんでしたが、メモリの消費量に関してはHHVMのほうが少ない結果が出ました。
( 1ページのメモリ消費量の平均 = HHVM : 約700KB, PHP 7.0: 約2MB )
また、Lumenフレームワークを使って計測したので、
Laravelフレームワークでのパフォーマンスも予測しやすいと思います。
HHVMは現在php5.6の構文を元に設計されていますが、
次回リリースする3.11ではPHP7のメジャーな機能が使えるようになるみたいです。
( 2015年12月10日にリリースされました )
HHVM公式ブログ : PHP 7 Support
PHP7もリリースして間もないので、今後も両方の環境に注目していきたいですね!