PHP7対応で改善される実行速度!エックスサーバーのベンチマーク

すでにこちらの記事で公開している内容ですが、エックスサーバー(XSERVER)関連の内容を一部修正して再掲載します。

レンタルサーバーを検討する際、大事なポイントはWebサイトの表示速度です。レスポンスが悪ければ訪問者にストレスを与え、検索順位にも悪影響です。もう一つはサーバーの処理性能であり、表示速度はもちろんのこと高負荷時(アクセス増加時)の安定性に大きく影響します。

エックスサーバーの全てが分かる
エックスサーバーのレビュー

測定方法

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

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

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

負荷について
100件程度は大した負荷ではありません。しかし、共用サーバーなので高負荷とならないように、1件ごとにwait処理を差し込んでいます。

測定結果

  PHP5/FastCGI PHP7/FastCGI
有効測定数 864 864
棄却検定除外 1.16%(10) 1.27%(11)
棄却検定閾値 4.00秒 3.41秒
エラー 0%(0) 0%(0)
中央値 2.68秒 2.23秒
平均値 2.73秒 2.28秒
ばらつき 0.27秒 0.25秒
変動係数 9.9% 11.0%
測定結果について
72時間(3日間) の測定結果です。X軸は時刻(0時~24時)を表し、各時刻の値は3日間の平均値です。有効測定数はエラーを省いた実測定数です。
測定のタイミングによりサーバーの負荷状態(混雑具合)が変動します。集計に影響を与える一時的な異常値(外れ値)を棄却検定Grubbs' test(α=0.001)により省いています。
ばらつき(標準偏差)は、処理の 約68%平均値 ± ばらつき に、約95%平均値 ± ばらつき×2 に収まることを示します。ばらつきが小さいほど処理性能が安定します。 変動係数
変動係数は「平均値に対する変動の割合」を示します。平均値(処理時間)が近い場合、変動係数が小さいほど安定します。

エックスサーバーの評価

PHP7はPHP5と比較して実行速度が大幅に改善されており、エックスサーバーでもPHP7に変更することで「約16%」の改善となりました。t検定による有意差(p<0.01)も確認でき、多くの状況で処理速度が向上するでしょう。

「アクセスが増え負荷が高くなる夜間帯」または「Cronによる処理が増える深夜から早朝」にも大きな変動はありません。いつでも一定の処理性能を維持しており、小さな変動はありますが常時安定しています。未加工のデータも棄却検定適用のデータとほとんど変わりません。やはり、最高クラスのハードウェアを採用している恩恵でしょう。

エックスサーバーを利用する場合、互換性の問題がなければ積極的にPHP7を利用するべきでしょう。例えば、WordPressならPHP7を含むPHP5.6以上が推奨されています(第三者提供のプラグインやテーマは要確認)。

他のレンタルサーバーとの比較

公式サイト 環境 平均値 ミリ秒中央値 ミリ秒標準偏差 ミリ秒エラー %

1.71.670.070

PHP7/CGI

1.821.830.220

1.941.950.070

PHP7/CGI

2.0220.140

PHP7

2.152.120.321

2.162.170.080

PHP7

2.172.130.240

2.182.150.30

2.242.250.280

PHP7/FastCGI

2.282.230.250

PHP5/CGI

2.42.410.270

PHP5/CGI

2.412.390.150

2.522.430.330

PHP7

2.712.680.348

2.722.660.3735

PHP7/FastCGI

2.732.70.30

PHP5/FastCGI

2.732.680.270

2.862.860.090

PHP5

3.032.960.380

3.13.150.310

PHP7/Module

3.113.120.080

PHP&MySQL

3.113.010.330

3.133.140.070

PHP5/FastCGI

3.143.090.210

3.142.90.630

3.142.960.680

PHP7/CGI

3.193.190.130

3.23.180.110

PHP5

3.513.470.398

PHP5/FastCGI

3.613.60.40

3.643.60.290

WordPress

4.183.891.090

PHP7

4.224.070.470

4.224.270.30

4.424.430.180

4.54.470.580

PHP5/CGI

4.564.450.560

PHP5

4.964.860.450

PHP5/Module

5.124.960.80

PHP7

5.164.242.230

5.184.691.240

5.255.210.320

PHP7

5.255.170.370

5.315.320.110

PHP5

5.315.230.560

PHP7

5.675.520.740

5.715.590.450

PHP5

5.885.80.360

6.055.920.580

PHP5

6.455.152.640

PHP5

6.456.330.770

6.526.490.760

PHP5/FastCGI

6.646.670.330

6.96.910.130

ライト

7.416.932.160

8.37.313.550

14.49.341461
注意
最新の測定結果を優先的に表示するため、記事作成時の評価とこの比較結果(表のデータ)が異なる可能性があります。

未加工データ

  PHP5/FastCGI PHP7/FastCGI
中央値 2.68秒 2.23秒
平均値 2.75秒 2.30秒
ばらつき 0.33秒 0.33秒
変動係数 12.0% 14.4%

測定結果について
レンタルサーバーは1つのサービス(プラン)に対して多くのサーバーが運用されています。測定結果はその中の1つに過ぎません。契約時期で割り当てられるサーバーのスペックは異なり、さらに、同じサーバーに収容される他契約者の負荷に大きく左右されます。

関連記事

BLOG

UPDATE