2016年11月にヘテムル(heteml)のサーバー構成が刷新されました。モジュール版PHP対応や最新ハードウェアの採用など、大型アップデートとなっています。元々高性能なサービスでしたが、さらに快適なサイト運用が可能となっています。
旧サーバーの場合、レスポンス性能は非常に安定していましたが、(利用料金を考慮すると)速度的に少し不満があるものでした。 今回のサーバー刷新に伴いWebサイトの表示速度がどれだけ向上しているかを測定し、旧サーバーと比較します。
レンタルサーバーを選択する際、大切なポイントは「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関連のサービスが収容されています。
Q. サーバー(データセンター)はどちらに設置されていますか?
A. 東京と大阪の大手データセンター内に収容させていただいております。また、24 時間 365 日、有人及びソフトウェアにてサーバーの監視を行っております。
経路図は測定元からデータセンターまでのネットワークを示しており、経由するIX(インターネットエクスチェンジ)等を含みます。測定元はK-Opticom(インターネットプロバイダ)のネットワーク内、関西圏(赤い円)にあるサーバーです。
WordPress PHP7/CGI |
HTML (PHP7/CGI) |
WordPress PHP7/Module |
HTML (PHP7/Module) |
|
---|---|---|---|---|
有効測定 | 3,988回 | 3,988回 | 3,988回 | 3,988回 |
棄却検定除外 | 0.70% (28) | 1.93% (77) | 0.50% (20) | 2.11% (84) |
棄却検定閾値 | 1.25秒 | 0.65秒 | 1.17秒 | 0.59秒 |
エラー | 1.10% (44) | 1.10% (44) | 1.10% (44) | 1.10% (44) |
3秒以上 | 0% (0) | 0% (0) | 0% (0) | 0% (0) |
中央値 | 0.62秒 | 0.38秒 | 0.59秒 | 0.39秒 |
平均値 | 0.66秒 | 0.39秒 | 0.62秒 | 0.40秒 |
ばらつき/標準偏差 | 0.12秒 | 0.05秒 | 0.11秒 | 0.04秒 |
変動係数 | 18.2% | 12.8% | 17.7% | 10.0% |
約68%
が 平均値 ± ばらつき
に、 約95%
が 平均値 ± ばらつき×2
に収まることを示します。ばらつきが小さいほどレスポンスが安定します。無視できない数のエラーが発生していますが、一時的な障害が原因です。一時的な不具合はどのサービスでも発生するため、エラーはないものとして評価します。障害の詳細は下記のリンク先(公式サイト)で確認できます。この障害時以外では発生していません。
新仕様の特徴は「モジュール版PHP対応」となっているので、「モジュール版PHP7」と「CGI版PHP7」とで稼働するWordPressを測定対象としています。
WordPress(動的ページ)とHTML(静的ページ)をペアで測定しているため、HTMLの結果が二つあります。また、表のHTMLにPHPやCGIの表記がありますが、組み合わせを示しているだけです。WordPressとHTMLとの差が、PHPやデータベースの処理時間となります。
同じ期間かつ同じサーバーに対する測定なので、HTMLの結果はそれぞれ同じようなものとなります。HTMLに関しては詳細な評価を行いませんが、旧サーバーと比較して「44%」も速度が向上しています。この結果からも基本性能が大幅に向上していることが分かります。
WordPressの結果を比較するとモジュール版が優れていることが分かります。さらに、t検定による有意差(p<0.01)も確認できました。さらに、僅かですがばらつき(標準偏差)が小さく、モジュール版がより安定したレスポンス性能を維持していることが分かります。
この測定におけるCGI版とモジュール版の差は大きくありませんが、モジュール版PHPはアクセスが多くなるほど効果的なので、訪問者の多いサイトほど大きな差となります。
しかし、新サーバーの恩恵はモジュール版PHPではなく、高性能なハードウェアでしょう。「10コアx2CPU」や「128GBの大容量メモリ」など、一般的なレンタルサーバーでは最高レベルのサーバーを採用しています。 後述する旧サーバーとの比較を確認すると分かりますが、同じ測定対象(CGI版PHP7)との差はかなり大きくなっています。
以前から機能的には文句のないほどの充実度でしたが、利用料金を考慮するとレスポンス性能は凡庸でした。今回のサーバー刷新により、よりコストパフォーマンスの高いサービスになったと言えます。
旧 PHP5/CGI | 旧 PHP7/CGI | 新 PHP7/CGI | 新 PHP7/Module | |
---|---|---|---|---|
有効測定 | 4,030回 | 4,030回 | 3,988回 | 3,988回 |
棄却検定除外 | 1.17% (47) | 2.56% (103) | 0.70% (28) | 0.50% (20) |
棄却検定閾値 | 2.08秒 | 1.31秒 | 1.25秒 | 1.17秒 |
エラー | 0.05% (2) | 0.05% (2) | 1.10% (44) | 1.10% (44) |
3秒以上 | 0.15% (6) | 0.07% (3) | 0% (0) | 0% (0) |
中央値 | 1.43秒 | 1.07秒 | 0.62秒 | 0.59秒 |
平均値 | 1.46秒 | 1.07秒 | 0.66秒 | 0.62秒 |
ばらつき/標準偏差 | 0.13秒 | 0.05秒 | 0.12秒 | 0.11秒 |
変動係数 | 8.90% | 4.67% | 18.2% | 17.7% |
ほぼ同時期に測定しており、この結果が新旧の性能差を示していると考えてもよいでしょう。
この比較結果から分かることは、新サーバーの性能が大幅に向上しているということです。新旧の同じ「PHP7/CGI」を比較すると「約38%」の改善を確認できます。
旧サーバーでもPHP7を利用することで必要十分な性能となっていましたが、新サーバーは他社と比較しても上位クラスの性能を有しています。さらにモジュール版PHPに対応するため、速度だけでなく安定性も大きく改善されたことになります。
新サーバーとは関係ありませんが、PHP7はPHP5と比較して大幅に実行速度が向上しています。旧サーバーの結果を見れば一目瞭然です。互換性の問題がなければ、積極的にPHP7を採用するべきでしょう。例えば、WordPressならPHP5.6以上が推奨されており、PHP7でも問題なく動作します(第三者提供のプラグインやテーマを除く)。
ヘテムル PHP7/Module |
エックスサーバー PHP7/FastCGI |
Zenlogic PHP5/Module |
ロリポップ PHP7/Module |
|
---|---|---|---|---|
有効測定 | 3,988回 | 4,028回 | 4,026回 | 4,026回 |
棄却検定除外 | 0.50% (20) | 0.77% (31) | 2.24% (90) | 4.35% (175) |
棄却検定閾値 | 1.17秒 | 0.91秒 | 1.04秒 | 1.62秒 |
エラー | 0% (0) | 0% (0) | 0.15% (6) | 0.15% (6) |
3秒以上 | 0.00% (0) | 0% (0) | 0.60% (24) | 1.17% (47) |
中央値 | 0.59秒 | 0.40秒 | 0.65秒 | 0.75秒 |
平均値 | 0.62秒 | 0.40秒 | 0.67秒 | 0.80秒 |
ばらつき/標準偏差 | 0.11秒 | 0.12秒 | 0.07秒 | 0.16秒 |
変動係数 | 17.7% | 30.0% | 10.5% | 20.0% |
比較対象は、エックスサーバー(XSERVER社)、Zenlogic(ファーストサーバ社)、そして、姉妹サービスであるロリポップ!です。特にエックスサーバーは、料金的にヘテムルと比較されることも多いでしょう。
ヘテムルも高性能なハードウェアを採用していますが、エックスサーバーには及びません。XSERVER社はエックスサーバーに注力しており、毎年のようにハードウェアを更新しています。上位サービスX2との(性能的な)逆転現象も起こっており、設備投資が他のサービスとは一線を画します。標準でSSLサーバー証明書を備えるなど、コストパフォーマンスの高さは異常と言えます。
Zenlogicは最廉価プランの結果であり、これがベースの性能となります。唯一PHP7非対応なので少し不利ですね。Zenlogicはプランにより割り当てリソースが変化するため、上位プランほど性能が向上します。ZenlogicはVPSを応用したサービスであり、一般的なレンタルサーバーと比較して、他サイトの影響を受けにくいという特徴があります。安定性重視のサイト運営が目的なら、公式サイトを覗いてみてはいかがでしょうか。
姉妹サービスのロリポップ!は、廉価サービスなりの結果となりました。かなりばらつきますが、ヘテムルの下位サービスであることを考えれば十分かもしれません。ただし、棄却検定による除外数が異常に多く、その多くが夜間に集中してます。利用者が増えたためか、訪問者の増える夜間にレスポンス速度が大きく低下する傾向にあります。詳しくはロリポップ!の測定記事をご覧ください。
ヘテムルはエックスサーバーに及ばないだけであり、他社を含めて安定性はトップクラス、速度は上位クラスの性能です。モジュール版PHPに対応したことで、アクセス増加時の安定性にも期待できます。仕様(機能)も充実しており、誰が利用しても不満の出にくいサービスであることは以前と変わりません。
公式サイト | 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 |
WordPress PHP7/CGI |
HTML (PHP7/CGI) |
WordPress PHP7/Module |
HTML (PHP7/Module) |
|
---|---|---|---|---|
3秒以上 | 0% (0) | 0% (0) | 0% (0) | 0% (0) |
中央値 | 0.62秒 | 0.39秒 | 0.59秒 | 0.39秒 |
平均値 | 0.67秒 | 0.40秒 | 0.62秒 | 0.40秒 |
ばらつき/標準偏差 | 0.15秒 | 0.07秒 | 0.13秒 | 0.06秒 |
変動係数 | 22.4% | 17.5% | 21.0% | 15.0% |
WordPress PHP5/CGI |
HTML (PHP5/CGI) |
WordPress PHP7/CGI |
HTML (PHP7/CGI) |
|
---|---|---|---|---|
有効測定 | 4,030回 | 4,030回 | 4,030回 | 4,030回 |
エラー | 0.05% (2) | 0.05% (2) | 0.05% (2) | 0.05% (2) |
3秒以上 | 0.15% (6) | 0.02% (1) | 0.07% (3) | 0.05% (2) |
中央値 | 1.43秒 | 0.70秒 | 1.07秒 | 0.70秒 |
平均値 | 1.47秒 | 0.72秒 | 1.09秒 | 0.72秒 |
ばらつき/標準偏差 | 0.18秒 | 0.11秒 | 0.15秒 | 0.12秒 |
変動係数 | 12.2% | 15.3% | 13.8% | 16.7% |
エラー内容 | |
---|---|
WordPress PHP5/CGI [2] | Failed to connect to host port 80: Connection refused [2] |
HTML (PHP5/CGI) [2] | Failed to connect to host port 80: Connection refused [2] |
WordPress PHP7/CGI [2] | Failed to connect to host port 80: Connection refused [2] |
HTML (PHP7/CGI) [2] | Failed to connect to host port 80: Connection refused [2] |