プログラミング

プログラミング

【比べてみた】エンジニア必見!の HHVM vs PHP 7 パフォーマンス比較

532 views

HHVMとPHP 7。最も広汎に使用されているプログラミング言語であるPHPの実行環境として、どちらもよく知られたコンパイラですね(ちなみにHHVMとは、サーバー負荷を減らしてより早いWebエクスペリエンスを提供するために2010年にFacebookによって開発された、HipHop Virtual Machineの略称です)。

ところでこれらは、実際にはどちらのほうが優れたパフォーマンス能力を持っているのでしょうか。

両者を比較するため、パフォーマンステストを行ってみました。

 

テストサイト詳細

・WordPress 4.4.2

・1000ブログ記事

・2016年デフォルトテーマ

・150ユーザー

・約500コメント

 

サーバー詳細

・Ubuntu 14.04サーバー

・1GB Ram

・20GB SSD ディスク

・Nginx (キャッシングなし)

・専用VPS

 

テスト1:Loadstorm テスト

一つのWordPressサイトを同じサーバー上で、10人までの同時使用、10分間という条件でHHVMとPHP7を用いてテストを行いました。

PHP 7

loadstorm-php7-1024x682

HHVM

loadstorm-hhvm-1024x682

2つのテストを比較すると、HHVMのレスポンスタイムは開始時に遅く、大きな上げ下げが見られますが、1分程度経過後にはPHP7に追いつき、よりよい結果を残しています。

loadstorm-compare-hhvm-php7

HHVMの平均レスポンスタイムは、高い最遅速度にも関わらず、PHP7よりもはるかに速いことが分かりました。初期段階でページをキャッシュするために、初期レスポンスタイムに遅れが見られますが、その後は素晴らしいパフォーマンスを発揮しています。

loadstorm-hhvm-php7-bar

 

テスト2:Webページ速度テスト

これは、http://www.webpagetest.org/ によって計測したウェブページのローディングスピードテストです。

PHP 7

webpagetest-test-result-php7-uizen

HHVM

webpagetest-test-result-hhvm-uizen-com_

このテストでは両者ほぼ同程度の結果となりましたが、PHP7のWordPressサイトが若干速い結果となりました。

hhvm-php7-php5-6-load-time-bar

 

テスト3:WP Performance Tester プラグイン

最後のテストではWordPressのプラグインである、WP Performance Testerを使用しました。

wp-performance-test-hhvm-v-php7-1024x820

このテストでは、PHP7 WordPressサイトの合計実行時間の方がHHVMと比べて短く、また1秒ごとの実行クエリー数も多いことから、PHP7のサイトの方が優れたパフォーマンスを発揮したと言えます。

wp-performance-hhvm-php7-bar

 

まとめ

PHP7のパフォーマンスが、PHP5,6と比べてHHVMに近づいてきていることが分かりました。しかしながら、サーバーに対する多数の同時リクエストに対しては未だにHHVMのWord Pressサイトの方が優れた結果を残しています。PHP7に比べてCPU負荷が少ないためです。

サイトのローディングに関してはPHP7はHHVMとほぼ同程度のパフォーマンスを発揮しています。

 

結論として、現在のところどちらが優れているかは、使用者のニーズによると言えるでしょう。もし適用したいサーバーがマルチコアでHHVMをクラッシュさせることなく稼働できる、または多数の同時アクセスが予想されるのであればHHVMが良いでしょう。あるいはまた、もし安定したWord Pressのプラットフォームで、かつPHP5よりも優れているものを求めている場合には、PHP7がお勧めだと言えそうです。

ぜひ参考にしてみてくださいね。

 

(※本記事は、HHVM vs PHP 7 Performance Showdown (WordPress, Nginx)を元に編集・再構成したものです。)

関連記事

おすすめ記事