表示速度は向上するのか?mod_deflateとmod_expiresに対応したお名前.com

お名前.comレンタルサーバーが「mod_deflate」と「mod_expires」に対応しました。コントロールパネルに設定機能はなく、設定を記述した「.htaccess」を設置することで有効となります。

それぞれウェブサーバー(Apache)のモジュールであり、Webサイトの表示速度を改善させるものです。

mode_deflate
サーバー側でコンテンツを自動的に圧縮することで転送量を削減し、表示速度を改善します。
mod_expires
Webブラウザのキャッシュ機能を細かく制御する設定ができます。

お名前.comの公式アナウンスによると、モジュールの効果は以下の様になっています。

弊社でのモジュール設定前後の速度比較では、116%の速度となりました。

Pagespeed Insightsで同一環境/コンテンツ条件、PC速度における比較(2016年8月26日現在)

それでは、モジュールを有効することでWebサイトのレスポンス(表示速度)が、どの程度改善されるかを評価してみましょう。

お名前.comレンタルサーバーの詳細については レビュー を参考にしてください。

測定方法

測定用サーバーから定期的にアクセスして、ウェブページの取得に要する時間を測定します。測定対象として「動的ページ」と「静的ページ」があります。

測定期間は 7日間 であり、5分ごとに2回の測定を行います。つまり、「7日×24時間×12回(60/5)×2回」の約4,000回となります。

測定方法の詳細は こちら も参考にしてください。

測定対象  
動的ページ(WordPress) WordPressサイト(PHP&データベース)。コンテンツは平均的なウェブページの構成を採用(HTTP Archiveの統計データを利用)。
静的ページ(HTML) HTMLファイルによるサイト。WordPressが生成したデータをHTMLファイル化。PHPとデータベースを使用しません。

「mod_expires」はブラウザのキャッシュを利用するものです。そのため、サーバー性能の評価を目的としたこの測定では使用していません。「mod_deflate」の設定は以下の通りです。画像以外を圧縮対象としています。

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

測定結果

  mod_deflate WordPress mod_deflate HTML 標準 WordPress 標準 HTML
有効測定 4,012回 4,012回 4,018回 4,018回
棄却検定除外 2.52% (101) 0.30% (12) 1.29% (52) 0.82% (33)
棄却検定閾値 3.03秒 1.45秒 2.43秒 1.96秒
エラー 0.50% (20) 0.50% (20) 0.35% (14) 0.35% (14)
3秒以上 2.57% (103) 0.12% (5) 0.72% (29) 0.07% (3)
中央値 1.17秒 0.60秒 1.15秒 0.70秒
平均値 1.23秒 0.59秒 1.19秒 0.72秒
ばらつき/標準偏差 0.36秒 0.18秒 0.25秒 0.25秒
変動係数 29.3% 30.5% 21.0% 34.7%
測定結果について
測定実行のタイミングによりサーバーやネットワークの状態(混雑具合)が変動します。集計に影響を与える一時的な異常値(外れ値)を棄却検定「Grubbs’ test(α=0.001)」により省いています。これは測定サーバー側の異常を省く意味もあります。
ばらつき(標準偏差)は、レスポンスの 約68%平均値 ± ばらつき に、 約95%平均値 ± ばらつき×2 に収まることを示します。つまり、ばらつきが小さいほどレスポンスが安定していることになります。
変動係数は「平均値に対する変動の割合」を示します。平均値(処理時間)が同じであっても、変動係数が大きい方の処理時間がばらつくことになります。
エラー内容  
mod_deflate WordPress [20] 503 Service Temporarily Unavailable [13] / timed out [4] / Failed to connect: Connection refused [3]
mod_deflate HTML [20] 503 Service Temporarily Unavailable [13] / Failed to connect: Connection refused [4] / timed out [3]
標準 WordPress [14] 503 Service Temporarily Unavailable [6] / Failed to connect: Connection refused [4] / timed out [4]
標準 HTML [14] 503 Service Temporarily Unavailable [8] / Failed to connect: Connection refused [5] / timed out [1]

mod_deflateの効果

お名前.comの公式アナウンスでは「116%」の高速化となっています。この測定結果でも約18%の高速化となり、妥当な数値であることが分かります。

しかし、あくまでも「HTML(静的ページ)」の結果に限ります。WordPress(動的ページ)の場合、mod_deflateを有効にすることで、わずかですがレスポンスが落ちています。

どちらの比較も有意差(p<0.01)を確認できたため、mod_deflateの有無で差が発生する傾向が高いと言えます。データベースとPHPが動作しないHTMLは改善されましたが、WordPressは悪化するという残念な結果となりました。

理由は簡単であり、mod_deflateは魔法のツールではないということです。サーバー側で圧縮処理が実行されるため、サーバーに余計な負荷がかかります。お名前.comのサーバー自体の処理性能が低いため、PHPに加えmod_deflateによる負荷は厳しいものがあります。エラーの発生回数も増えており、WordPressサイトならmod_deflateを有効にする意味がありません。

変動係数を比較しても、mod_deflateを有効にしたWordPressサイトの表示速度がばらつくことが分かります。不安定さが増しレスポンスも改善されないため、やはりmod_defleteを有効にする必要はないように思えます。

どうしても利用するなら、定期的にエラーの発生頻度をログで確認しましょう。

各未加工データ

標準

  動的ページ 静的ページ
3秒以上 0.72% (29) 0.07% (3)
中央値 1.16秒 0.70秒
平均値 1.28秒 0.75秒
ばらつき/標準偏差 1.52秒 0.97秒

mod_deflate

  動的ページ 静的ページ
3秒以上 2.57% (103) 0.12% (5)
中央値 1.17秒 0.60秒
平均値 1.38秒 0.62秒
ばらつき/標準偏差 1.89秒 0.97秒

測定結果について!
レンタルサーバーは、一つのサービス(プラン)に対して多数のサーバーが運用されています。これらの測定結果は、その中の一つに過ぎません。契約時期により割り当てられるサーバーのスペックは異なる可能性があります。また、同じサーバーを利用する他ユーザーの負荷も影響します。

関連記事