Z.comがサービスを開始してから1年が経過しました。 サービス開始間もない頃にWebサイトのレスポンス性能を評価しましたが、そのときの結果はかなり優秀なものでした。
当時はPHP7を採用するサービスが少なかったこともあり、PHP5での測定にとどまっていますが、今では多くのレンタルサーバーがPHP7を採用しつつあります。今回は、PHP7の評価を中心に、前回の性能を維持しているかを確認します。
レンタルサーバーを選択する際、大切なポイントは「Webサイトの表示速度」です。いくら豊富な機能に対応しても、運営サイトのレスポンスが悪ければ絵に描いた餅です。訪問者を自分に置き換えれば、なかなか開かないページにイライラすることは想像に難くないでしょう。そして、レスポンスの悪さは検索順位にも悪影響です。
様々な調査結果により 3秒 という時間がレスポンス性能のキーワードとなります。
コンテンツが表示されるまでに3秒を超えてしまうと、
レスポンス性能の影響は様々です。
快適なWebサイトの条件は、「最低でも3秒以内」「理想は2秒以内」のレスポンスとなります。それを越えてしまうと、どうしても必要な情報がない限り目に触れる機会すらなくなります。
測定用サーバーから定期的にアクセスして、Webページの取得に要する時間を測定します。測定対象として「WordPress(動的ページ)」と「HTML(静的ページ)」があります。より詳しい内容は こちら を参考にしてください。
測定対象 | |
---|---|
動的ページ(WordPress) | WordPressサイト(PHP&データベース)。コンテンツは平均的なウェブページの構成を採用(HTTP Archiveの統計データを利用)。 |
静的ページ(HTML) | HTMLファイルによるサイト。WordPressが生成したデータをHTMLファイル化。PHPとデータベースを使用しません。 |
測定期間は 7日間 であり、5分ごとに2回の測定を行います。つまり、「7日×24時間×12回(60/5)×2回」の約4,000回となります。
一度きりの測定では意味がないため、一定期間の継続した測定を行っています。「利用者や訪問者が測定時だけ少なくレスポンスが良かった」「一時的なトラブルが原因でレスポンスが悪かった」という、誤った結果となることを(完全ではありませんが)防げます。
一定期間測定することで、利用者や訪問者が変動する日中、夜間、深夜の差を確認することもできます。例えば、訪問者が多くなり負荷が高くなる夜間と、負荷の下がる深夜との差が小さければ、負荷に強いサーバーであることを推測できます。
以前は複数のリージョン(東京、アメリカ、シンガポール)から選択できましたが、国内向けサービスでは東京に固定されています。
国内の場合、ロリポップ!などのGMO系列のサービスが収容されているデータセンターで運用されています。あくまでも推測ですが、データセンターの所在地は東京都品川区のようです。
経路図は測定元からデータセンターまでのネットワークを示しており、経由するIX(インターネットエクスチェンジ)等を含みます。測定元はK-Opticom(インターネットプロバイダ)のネットワーク内、関西圏(赤い円)にあるサーバーです。
WordPress PHP5/CGI |
HTML (PHP5/CGI) |
WordPress (PHP7/CGI) |
HTML (PHP7/CGI) |
|
---|---|---|---|---|
有効測定 | 4,032回 | 4,032回 | 4,032回 | 4,032回 |
棄却検定除外 | 1.36% (55) | 8.73% (352) | 5.16% (208) | 2.46% (99) |
棄却検定閾値 | 4.83秒 | 1.06秒 | 1.15秒 | 0.87秒 |
エラー | 0% (0) | 0% (0) | 0% (0) | 0% (0) |
3秒以上 | 5.83% (235) | 2.63% (106) | 3.15% (127) | 0.27% (11) |
中央値 | 0.80秒 | 0.49秒 | 0.68秒 | 0.49秒 |
平均値 | 1.04秒 | 0.53秒 | 0.70秒 | 0.51秒 |
ばらつき/標準偏差 | 0.77秒 | 0.11秒 | 0.09秒 | 0.07秒 |
変動係数 | 74.04% | 20.75% | 12.86% | 13.73% |
約68%
が 平均値 ± ばらつき
に、 約95%
が 平均値 ± ばらつき×2
に収まることを示します。ばらつきが小さいほどレスポンスが安定します。測定対象は「PHP7」と「PHP5」とで稼働するWordPressです。Z.comは仕様上、複数のバージョン(PHP)を同時に利用できないため、ほぼ同時期ながらも測定期間は異なります。
WordPress(動的ページ)とHTML(静的ページ)をペアで測定しているため、HTMLの結果が二つあります。 そして、表のHTMLにあるPHPなどの表記は、組み合わせを示します。WordPressとHTMLとの差が、PHPやデータベースの処理性能を示します。
測定期間は異なるものの、ファイルをダウンロードするだけのHTMLは、どちらも同じような結果となります。
当然の結果かもしれませんが、WordPressを比較するとPHP7が優れています。未加工データによるt検定でも有意差(p<0.01)を確認でき、互換性の問題がなければPHP7を利用するとよいでしょう。
PHP7が優れていることを確認できましたが、棄却検定の結果が異常なことになっています。それでは除外データを含む未加工データを詳細に確認してみましょう。
WordPress PHP5/CGI |
HTML (PHP5/CGI) |
WordPress (PHP7/CGI) |
HTML (PHP7/CGI) |
|
---|---|---|---|---|
3秒以上 | 5.83% (235) | 2.63% (106) | 3.15% (127) | 0.27% (11) |
中央値 | 0.80秒 | 0.50秒 | 0.69秒 | 0.49秒 |
平均値 | 1.11秒 | 0.71秒 | 0.93秒 | 0.53秒 |
ばらつき/標準偏差 | 1.00秒 | 0.79秒 | 1.31秒 | 0.24秒 |
変動係数 | 90.09% | 111.27% | 140.86% | 45.28% |
一時的(偶発的)な遅延を省くために棄却検定を適用しています。しかし、一時的とは思えないほどの除外数となったので未加工データで検証します。
グラフだけでも夜間のデータが原因であることが分かります。3日目に大きな遅延が発生していますが、これを含めると検証しにくくなるため無視します。他社でも一時的に遅くなることはあります。
しかし、1日だけなら無視できますが、深夜に恒常的な遅延があることは間違いないようです。期間中に障害情報のアナウンスはなく、最低でも測定期間の2週間はこの状況が続いていたことになります。
同時期に実施したベンチマークでは、前回より実行速度が向上しており、夜間に処理性能が低下するような結果となっていません。 そのため、いわゆる「ハズレ」のサーバーが割り当てられたとも思えません。 さらに、HTMLの結果やFTP性能の測定結果でもネットワーク性能(転送速度)は安定しています。
これらの結果から分かることは、夜間のPHPに対するアクセスに対して遅延が発生しているということです。 ネットワーク性能やサーバーの処理性能は安定しており、PHP等のスクリプト、またはWordPressに対するアクセスに制限があるような印象です。同じデータセンターで運用されるロリポップ!も同様の傾向にあり、何かしらの制御が行われているのでしょう。
WordPress 開始時 |
HTML 開始時 |
WordPress 今回 |
HTML 今回 |
|
---|---|---|---|---|
有効測定 | 3,887回 | 4,025回 | 4,032回 | 4,032回 |
エラー | 3.73% (145) | 0.17% (7) | 0.00% (0) | 0.00% (0) |
3秒以上 | 2.24% (87) | 0.67% (27) | 5.83% (235) | 2.63% (106) |
中央値 | 0.45秒 | 0.43秒 | 0.80秒 | 0.50秒 |
平均値 | 0.62秒 | 0.56秒 | 1.11秒 | 0.71秒 |
ばらつき/標準偏差 | 0.75秒 | 0.72秒 | 1.00秒 | 0.79秒 |
変動係数 | 120.97% | 128.57% | 90.09% | 111.27% |
サービス開始間もない頃に測定した結果と比較してみましょう。前回はPHP7で測定していないため、PHP5の測定結果(未加工データ)で比較します。
前回も一時的に遅くなることがありましたが、今回と比較すれば僅かなものです。また、WordPressとHTMLとの速度差が小さく、WordPressサイトでもトップクラスのレスポンス性能がありました。とは言え、高負荷によるエラー(約4%)が発生しており、復旧に4時間かかるなどやや不安定な印象はありました。
HTMLの平均値を比較するとやや遅くなっていますが、3日目のデータを除けば同程度です。つまり、ネットワーク性能(転送速度)に変化はないため、やはりPHPなどのスクリプトに対する限定的な帯域制御が行われている可能性が高いでしょう。あくまでも推測ですが、これが正解であってもユーザーにはどうにもできません。
毎回他社との比較記事を掲載していますが、この結果では比較の意味がありません。
サービス開始間もない頃は優秀な性能でしたが、同じサービスとは思えないほどの結果となりました。 とは言え、エラーもなく平均値だけなら他社と比較しても決して悪くない性能を維持しています。 また、3日目のデータを除けば、Webサイトの運営に支障がでるほどの遅延でもありません。
しかし、他社の測定データとはかけ離れた傾向であり、積極的におすすめできるサービスではなくなったようです。
公式サイト | WordPress | Static | |||||||
---|---|---|---|---|---|---|---|---|---|
環境 | 平均値 秒 | 中央値 秒 | 標準偏差 秒 | エラー % | 平均値 秒 | 中央値 秒 | 標準偏差 秒 | エラー % | |
0.21 | 0.21 | 0.01 | 0 | 0.21 | 0.21 | 0.01 | 0 | ||
PHP5/CGI | 0.24 | 0.22 | 0.05 | 0 | 0.43 | 0.54 | 0.2 | 0 | |
PHP7/CGI | 0.24 | 0.21 | 0.07 | 0 | 0.24 | 0.21 | 0.06 | 0 | |
0.25 | 0.23 | 0.06 | 0.02 | 0.26 | 0.23 | 0.08 | 0.42 | ||
Xキャッシュ | 0.29 | 0.25 | 0.09 | 0 | 0.28 | 0.25 | 0.07 | 0 | |
0.37 | 0.35 | 0.08 | 0 | 0.36 | 0.35 | 0.05 | 0 | ||
0.38 | 0.37 | 0.05 | 0 | 0.57 | 0.66 | 0.19 | 0 | ||
PHP7/FastCGI | 0.4 | 0.4 | 0.12 | 0 | 0.23 | 0.22 | 0.03 | 0 | |
WordPressサーバー | 0.42 | 0.35 | 0.2 | 0 | 0.4 | 0.35 | 0.15 | 0 | |
0.43 | 0.47 | 0.21 | 0 | 0.43 | 0.22 | 0.31 | 0 | ||
PHP7/FastCGI | 0.45 | 0.45 | 0.15 | 0 | 0.29 | 0.26 | 0.09 | 0 | |
PHP7 | 0.46 | 0.45 | 0.03 | 0.05 | 0.35 | 0.31 | 0.1 | 0.02 | |
キャッシュ無効 | 0.47 | 0.52 | 0.15 | 0 | 0.43 | 0.54 | 0.21 | 0 | |
PHP5/FastCGI | 0.47 | 0.47 | 0.12 | 0 | 0.23 | 0.22 | 0.03 | 0 | |
0.54 | 0.7 | 0.25 | 0 | 0.36 | 0.33 | 0.09 | 0.02 | ||
PHP5/FastCGI | 0.55 | 0.54 | 0.17 | 0 | 0.33 | 0.29 | 0.11 | 0 | |
0.62 | 0.62 | 0.03 | 0.1 | 0.41 | 0.34 | 0.14 | 0.17 | ||
PHP7 | 0.62 | 0.59 | 0.32 | 0 | 0.38 | 0.31 | 0.2 | 0 | |
PHP7/Module | 0.62 | 0.59 | 0.11 | 0 | 0.4 | 0.39 | 0.04 | 0 | |
キャッシュ無効 | 0.62 | 0.61 | 0.12 | 0 | 0.38 | 0.37 | 0.05 | 0 | |
PHPサーバー | 0.62 | 0.7 | 0.26 | 0 | 0.34 | 0.29 | 0.1 | 0 | |
PHP5 | 0.63 | 0.62 | 0.03 | 0 | 0.32 | 0.31 | 0.03 | 0 | |
PHP7 | 0.63 | 0.59 | 0.33 | 0 | 0.37 | 0.31 | 0.18 | 0 | |
0.64 | 0.61 | 0.1 | 0 | 0.48 | 0.45 | 0.09 | 0 | ||
PHP7/CGI | 0.66 | 0.62 | 0.12 | 0 | 0.39 | 0.38 | 0.05 | 0 | |
0.66 | 0 | 0.22 | 0 | 0.66 | 0 | 0.23 | 0 | ||
0.67 | 0.65 | 0.07 | 0.15 | 0.52 | 0.47 | 0.14 | 0.15 | ||
キャッシュ | 0.68 | 0.68 | 0.06 | 0 | 0.69 | 0.69 | 0.06 | 0 | |
PHP7/CGI | 0.7 | 0.68 | 0.09 | 0 | 0.51 | 0.49 | 0.07 | 0 | |
PHP5 | 0.71 | 0.69 | 0.33 | 0 | 0.37 | 0.3 | 0.18 | 0 | |
0.71 | 0.73 | 0.3 | 0 | 0.35 | 0.31 | 0.11 | 0 | ||
0.72 | 0.71 | 0.05 | 0 | 0.24 | 0.24 | 0.01 | 0 | ||
0.75 | 0.63 | 0.31 | 0 | 0.56 | 0.47 | 0.29 | 0 | ||
PHP5 | 0.75 | 0.7 | 0.37 | 0 | 0.37 | 0.31 | 0.16 | 0 | |
モジュール | 0.8 | 0.75 | 0.16 | 0.15 | 0.37 | 0.36 | 0.06 | 0.1 | |
0.83 | 0.79 | 0.39 | 0 | 0.34 | 0.28 | 0.15 | 0 | ||
PHP7 | 0.84 | 0.8 | 0.26 | 0 | 0.74 | 0.69 | 0.16 | 0 | |
PHP7 | 0.84 | 0.84 | 0.14 | 0 | 0.67 | 0.67 | 0.06 | 0 | |
PHP7 | 0.85 | 0.84 | 0.06 | 0 | 0.67 | 0.66 | 0.05 | 0 | |
PHP7 | 0.88 | 0.84 | 0.16 | 0.75 | 0.61 | 0.57 | 0.1 | 0 | |
0.91 | 0.86 | 0.16 | 0 | 0.51 | 0.49 | 0.07 | 0 | ||
0.92 | 0.88 | 0.2 | 0 | 0.64 | 0.61 | 0.24 | 0 | ||
0.93 | 0.92 | 0.05 | 0 | 0.65 | 0.65 | 0.04 | 0 | ||
PHP5 | 0.93 | 0.92 | 0.16 | 0 | 0.67 | 0.67 | 0.06 | 0 | |
0.95 | 0.95 | 0.12 | 0 | 0.52 | 0.5 | 0.08 | 0 | ||
CGI | 0.95 | 0.9 | 0.16 | 0 | 0.39 | 0.37 | 0.07 | 0 | |
PHP5/FastCGI | 0.97 | 0.96 | 0.4 | 0.15 | 0.42 | 0.41 | 0.07 | 0.07 | |
PHP5 | 1 | 0.98 | 0.31 | 0 | 0.77 | 0.8 | 0.14 | 0 | |
PHP5/CGI | 1.04 | 0.8 | 0.77 | 0 | 0.53 | 0.49 | 0.11 | 0 | |
1.05 | 1.01 | 0.12 | 0 | 0.81 | 0.74 | 0.19 | 0 | ||
PHP5 | 1.1 | 1.05 | 0.16 | 0 | 0.6 | 0.56 | 0.1 | 0 | |
1.14 | 1.14 | 0.04 | 0 | 0.27 | 0.26 | 0.02 | 0 | ||
ライトプラン | 1.44 | 1.22 | 1.3 | 0 | 0.51 | 0.37 | 0.67 | 0 | |
1.96 | 1.92 | 0.63 | 0.02 | 1.63 | 1.56 | 0.59 | 0.02 | ||
2.09 | 1.7 | 1.07 | 0.93 | 1.24 | 1.17 | 0.42 | 0.6 | ||
2.23 | 0 | 0.65 | 0.11 | 1.91 | 0 | 0.6 | 0.07 | ||
PHP5/FastCGI | 2.72 | 2.55 | 0.67 | 0.07 | 2.41 | 2.17 | 0.66 | 0.07 | |
PHP5/FastCGI | 2.9 | 2.78 | 0.51 | 0.35 | 2.52 | 2.37 | 0.43 | 0.15 | |
PHP7/FastCGI | 2.92 | 2.8 | 0.53 | 0.27 | 2.57 | 2.46 | 0.36 | 0.22 | |
PHP7 | 3.18 | 1.57 | 2.34 | 0.35 | 0.71 | 0.71 | 0.18 | 0.22 | |
PHP5 | 3.3 | 1.53 | 2.47 | 0.5 | 0.72 | 0.72 | 0.18 | 0.45 | |
3.36 | 3.09 | 0.63 | 0.02 | 2.89 | 2.72 | 0.35 | 0 | ||
3.78 | 0 | 0.5 | 0.07 | 3.77 | 0 | 0.51 | 0.1 | ||
4.56 | 4.53 | 0.31 | 0 | 4.24 | 4.22 | 0.34 | 0 | ||
5.7 | 5.72 | 0.83 | 0.02 | 5.13 | 5.14 | 0.81 | 0.02 | ||
8.05 | 6.72 | 3.08 | 1.68 | 7.82 | 6.4 | 3.23 | 1.41 | ||
0 | 0 | 0 | 0 | 0.34 | 0.29 | 0.15 | 0 | ||
0 | 0 | 0 | 0 | 6.13 | 6.27 | 0.45 | 0 |