PHP7採用のエックスサーバー!確実に向上するWordPressのレスポンス性能

エックスサーバー(XSERVER)はPHP7に対応しており、ドメインごとにバージョンを切り換えることができます。PHP7は様々な部分が改良されていますが、最も大きな改善点は「PHP5の2倍以上の実行速度!」でしょう。

おそらく「平均的に」または「特定の条件で」2倍となることは、想像に難くありません。ほとんど変わらない部分や大幅に向上した機能もあるでしょう。レンタルサーバーのユーザーであれば、WordPressの処理性能がどれだけ向上するかが最も気になるところです。

すでに多くの方がPHP7に移行しているようですが、「(何となく)速くなった!」という体感的かつ主観的な評価が多く、具体的なデータを載せている記事がほとんどありません。ここでは実際にPHP5とPHP7で稼働させたWordPressの処理性能を比較した結果を紹介します。

レスポンス性能の比較

測定用サーバーから定期的にアクセスして、ウェブページの取得に要する時間を測定します。測定対象はもちろん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%
測定結果について
有効測定はエラーを省いた回数を示します。
測定実行のタイミングによりサーバーやネットワークの状態(混雑具合)が変動します。集計に影響を与える一時的な異常値(外れ値)を棄却検定「Grubbs' test(α=0.001)」により省いています。これは測定サーバー側の異常を省く意味もあります。
ばらつき(標準偏差)は、レスポンスの 約68%平均値 ± ばらつき に、 約95%平均値 ± ばらつき×2 に収まることを示します。つまり、ばらつきが小さいほどレスポンスが安定していることになります。
変動係数は「平均値に対する変動の割合」を示します。平均値(処理時間)が同じであっても、変動係数が大きい方の処理時間がばらつくことになります。

同じサーバー、同じ測定期間、PHPのバージョンのみが異なる環境での比較となります。

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

PHP7に変更することでレスポンス性能が 約10% 高速化しています。謳い文句は「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%
測定結果について
72時間(3日間) の測定結果です。X軸は時刻(0時~24時)を表し、各時刻の値は3日間の平均値です。有効測定数はエラーを省いた実測定数です。
測定のタイミングによりサーバーの負荷状態(混雑具合)が変動します。集計に影響を与える一時的な異常値(外れ値)を棄却検定「Grubbs' test(α=0.001)」により省いています。
ばらつき (標準偏差)は、処理の 約68%平均値 ± ばらつき に、約95%平均値 ± ばらつき×2 に収まることを示します。つまり、ばらつきが小さいほど処理性能が安定しているといえます。

こちらも同じサーバーかつ同じ期間に測定した結果です。データベース処理時間も含まれますが、同じサーバーなので処理性能の差はありません。処理時間(平均値)の差は、PHPの処理性能の差となります。こちらもt検定による有意差(p<0.01)を確認できます。

PHP7の処理性能が 約16% 高速化しています。先ほどのレスポンス性能と同程度の性能向上であり、今回の条件(標準テーマ&プラグインなし)であれば、トータル的に1割程度の性能向上が見込めることになります。

まとめ

PHP7に変更することで、確実にレスポンス性能が向上することが分かりました。今回の測定対象では 10%強 改善されています。

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

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

関連記事

BLOG

UPDATE