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% |
より詳細な測定方法や測定結果の見方については下記を参考にしてください。
両サービスともに同じサーバー、同じ測定期間、PHPのバージョンのみ異なる環境での比較です。
測定結果の各数値についての説明は省きますが、グラフだけでも確実にPHP7で稼働しているWordPressのレスポンス速度が改善していることが分かります。両サービスともt検定による有意差(p<0.01)を確認でき、まったく同じ環境(サーバー)であっても、PHPバージョンの差でレスポンス性能が明確に変化することが分かります。
エックスサーバーは 約10% 、エクスクラウドは 約15% の高速化となっています。PHP7の謳い文句は「PHP5の2倍」となっていますが、ウェブサイトのレスポンス速度にはデータベースやネットワークの処理性能も大きく影響します。PHPの処理性能が向上しても、トータルのレスポンス性能が劇的に向上するわけではありません。
ただし、今回の測定対象は「プラグインなしの標準テーマ」となっています。PHPの処理が多くなるサイト、例えば「多機能なWordPressテーマを採用している」「多くのプラグインを導入している」などの条件であれば、PHP7の効果が大きくなるでしょう。すでにPHPの処理がレスポンスのボトルネックと判明しているサイトであれば、すぐにでもPHP7に変更するべきでしょう。
WordPressをインストールしたウェブサイト(サーバー)を利用します。
これらの処理を 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% |
より詳細な測定方法や測定結果の見方については下記を参考にしてください。
両サービスともに、レスポンス性能の測定と同じ環境です。データベースの処理時間が含まれますが、データベースサーバーは同じであるため影響はありません。つまり、処理時間(平均値)の差は、PHPの処理性能の差となります。
エックスサーバーは 約16% 、エクスクラウドは 約25% の改善となっています。両サービスともに、t検定による有意差(p<0.01)を確認でき、確実に処理性能が向上することが分かります。
先ほどのレスポンス速度と同様にエクスクラウドの改善率が高いことが分かります。処理時間の平均値はエクスクラウドがエックスサーバーより優れており、あくまでも推測ですがサーバー性能が高いほど改善率が高いのかもしれません。元の性能が悪いレンタルサーバーの場合、PHP7にしたところで恩恵を感じられない可能性はあります。
念のために書いておきますが、ハードウェアそのものはエックスサーバーが優れています。処理性能が逆転しているのは、おそらく収容数(稼働しているサイト数)の差が影響しているのでしょう。
WordPressサイトをPHP7に変更することで、確実にレスポンス速度が向上することを確認できました。今回の測定対象では レスポンス速度が 10%〜15% 、処理性能が 16%〜25% 改善されました。さらに、全く同じ構成のサイトであってもレンタルサーバーによって、改善率にかなりの差があることも分かりました。
測定対象は「プラグインなしの標準テーマ」を採用しているため、PHPの処理も最低限でしょう。それでも確実に効果があるため、多くのカスタマイズを施しているサイトであれば、よりPHP7の恩恵が大きくなることを推測できます。
少しでもレスポンス速度を向上させたいのであれば、PHP7への移行をおすすめします。しかし、現状のレスポンス性能に不満がなければ、互換性を犠牲にしてまで変更する必要はありません。