PHP7でWordPressのレスポンス速度は本当の向上するのか?

PHP7対応のレンタルサーバーが徐々に増えてきており、PHP7への移行を検討している方も多いでしょう。様々な部分が改良されているPHP7ですが、最も大きな特徴は「PHP5の2倍以上の実行速度」でしょう。

実行速度の改善はデータ構造やキャッシュの改善によるものであり「特定の条件で2倍」となることは想像に難くありません。大幅に向上する部分もあれば、あまり変わらない部分もあるでしょう。レンタルサーバーでウェブサイトを運営している方であれば、WordPressのレスポンス速度がどれだけ向上するかが最も気になるところです。

すでに多くの方がPHP7に移行しているようですが、「(何となく)速くなった!」という体感的かつ主観的な評価が多く、具体的なデータを載せている記事はほとんどありません。中には「自分のサイトが2倍速くなった!」という残念な記事も見かけます。「本当に速くなっているの?」という疑問もあるため、ここでは実際にPHP5とPHP7で稼働させたWordPressの処理性能やレスポンス速度の比較結果を紹介します。

この評価では「エックスサーバー(XSERVER)」と「エクスクラウド(EX-CLOUD)」を利用しています。各サービスの詳細は下記レビューをご覧ください。

レスポンス性能の比較

測定用サーバーから定期的にアクセスして、ウェブページの取得に要する時間を測定します。測定対象はもちろんWordPressサイトです。測定期間は「7日間」、「5分間隔で2回」実行しています。「7日×24時間×(60/5)×2回」となり、測定回数は約4,000回となります。

エックスサーバーの測定結果

  PHP7.0 PHP5.6
有効測定 4,025回 4,029回
棄却検定除外 0.70% (28) 0.60% (24)
棄却検定閾値 1.11秒 1.12秒
エラー 0.17% (7) 0.07% (3)
中央値 0.48秒 0.55秒
平均値 0.44秒 0.49秒
ばらつき/標準偏差 0.14秒 0.15秒
変動係数 31.8% 30.6%

エクスクラウドの測定結果

  PHP7.0 PHP5.6
有効測定 4,022回 4,028回
棄却検定除外 0.87% (35) 1.07% (43)
棄却検定閾値 0.71秒 0.78秒
エラー 0.10% (4) 0.10% (4)
3秒以上 0% (0) 0% (0)
中央値 0.54秒 0.62秒
平均値 0.53秒 0.62秒
ばらつき/標準偏差 0.04秒 0.03秒
変動係数 7.55% 4.84%

測定結果について

より詳細な測定方法や測定結果の見方については下記を参考にしてください。

PHP7がレスポンス速度に与える効果

両サービスともに同じサーバー、同じ測定期間、PHPのバージョンのみ異なる環境での比較です。

測定結果の各数値についての説明は省きますが、グラフだけでも確実にPHP7で稼働しているWordPressのレスポンス速度が改善していることが分かります。両サービスともt検定による有意差(p<0.01)を確認でき、まったく同じ環境(サーバー)であっても、PHPバージョンの差でレスポンス性能が明確に変化することが分かります。

エックスサーバーは 約10% 、エクスクラウドは 約15% の高速化となっています。PHP7の謳い文句は「PHP5の2倍」となっていますが、ウェブサイトのレスポンス速度にはデータベースやネットワークの処理性能も大きく影響します。PHPの処理性能が向上しても、トータルのレスポンス性能が劇的に向上するわけではありません。

ただし、今回の測定対象は「プラグインなしの標準テーマ」となっています。PHPの処理が多くなるサイト、例えば「多機能なWordPressテーマを採用している」「多くのプラグインを導入している」などの条件であれば、PHP7の効果が大きくなるでしょう。すでにPHPの処理がレスポンスのボトルネックと判明しているサイトであれば、すぐにでもPHP7に変更するべきでしょう。

処理性能の比較

WordPressをインストールしたウェブサイト(サーバー)を利用します。

  • 「ランダムな3,000文字/記事」の投稿と削除
    • 100記事をまとめて投稿、投稿後に全削除
    • 1記事ごとの生成処理を含む
  • 投稿と削除はWordPressの標準関数を利用
    • wp_insert_post、wp_delete_post

これらの処理を 5分間隔 で実行し、一連の処理時間を測定します。データセンター内(またはサーバー内)で完結する処理なので、外部ネットワーク環境の影響を受けません。

エックスサーバーの測定結果

  PHP7.0 PHP5.6
有効測定数 864 864
棄却検定除外 1.27%(11) 1.16%(10)
棄却検定閾値 3.41秒 4.00秒
エラー 0%(0) 0%(0)
中央値 2.23秒 2.68秒
平均値 2.28秒 2.73秒
ばらつき 0.25秒 0.27秒
変動係数 11.0% 9.89%

エクスクラウドの測定結果

  PHP7.0 PHP5.6
有効測定数 863 864
棄却検定除外 0.12%(1) 0%(0)
棄却検定閾値 1.72秒 2.34秒
エラー 0.12%(1) 0%(0)
中央値 1.50秒 1.98秒
平均値 1.48秒 1.98秒
ばらつき 0.07秒 0.09秒
変動係数 4.73% 4.55%

測定結果について

より詳細な測定方法や測定結果の見方については下記を参考にしてください。

PHP7が処理性能に与える効果

両サービスともに、レスポンス性能の測定と同じ環境です。データベースの処理時間が含まれますが、データベースサーバーは同じであるため影響はありません。つまり、処理時間(平均値)の差は、PHPの処理性能の差となります。

エックスサーバーは 約16% 、エクスクラウドは 約25% の改善となっています。両サービスともに、t検定による有意差(p<0.01)を確認でき、確実に処理性能が向上することが分かります。

先ほどのレスポンス速度と同様にエクスクラウドの改善率が高いことが分かります。処理時間の平均値はエクスクラウドがエックスサーバーより優れており、あくまでも推測ですがサーバー性能が高いほど改善率が高いのかもしれません。元の性能が悪いレンタルサーバーの場合、PHP7にしたところで恩恵を感じられない可能性はあります。

念のために書いておきますが、ハードウェアそのものはエックスサーバーが優れています。処理性能が逆転しているのは、おそらく収容数(稼働しているサイト数)の差が影響しているのでしょう。

まとめ

WordPressサイトをPHP7に変更することで、確実にレスポンス速度が向上することを確認できました。今回の測定対象では レスポンス速度が 10%〜15% 、処理性能が 16%〜25% 改善されました。さらに、全く同じ構成のサイトであってもレンタルサーバーによって、改善率にかなりの差があることも分かりました。

測定対象は「プラグインなしの標準テーマ」を採用しているため、PHPの処理も最低限でしょう。それでも確実に効果があるため、多くのカスタマイズを施しているサイトであれば、よりPHP7の恩恵が大きくなることを推測できます。

少しでもレスポンス速度を向上させたいのであれば、PHP7への移行をおすすめします。しかし、現状のレスポンス性能に不満がなければ、互換性を犠牲にしてまで変更する必要はありません。