mod_deflateでアクセス速度改善


Googleの開発ツール『PageSpeed Insights』で測定した結果、DreamHostで運用しているサイトがボロボロの結果だったので、指摘箇所の改善を行っていっています。

前回は、mod_pagespeedを設定してアクセス速度の改善を行いました。興味のある方は、『mod_pagespeedでアクセス速度改善』のページを参照してください。

そして、今回は『mod_deflate』を設定し、アクセス速度の改善を試みたいと思います。

mod_deflateで何が改善されるのか?

このmod_deflateを有効にすることで、ユーザからウェブサイトにアクセスがあった場合、ユーザにデーターを送り返す前にサーバー側でデーターを圧縮することで、転送量を減らすことができます。

しかし、mod_pagespeedの時と同じようにサーバー側でデーターを圧縮するにはサーバーのリソース(CPUやメモリ)を消費します。その為、データーの転送量が減ってもサーバーのリソース不足で処理が遅れ逆にアクセス速度が落ちる可能性もあります。

スペックが低いサーバーの場合は特にこの懸念があります。幸いなことにDreamHostはハイスペックなサーバーなので恐らく落ちないと思いますが、他にもリソースを食うようなアプリなどを利用していると速度低下をまねくかもしれません。

mod_deflateの設定方法

mod_deflateは、.htaccessファイルに記述します。前回、mod_pagespeedの設定を行いましたが、その時の.htaccessファイルをそのまま使用します。

mod_deflateを追記することで更なる改善となるのか?
記載する内容は次の通り。

gifやjpgなどの画像ファイルは元々から圧縮されているので、mod_deflateで再圧縮かけても効果はほとんどなく逆にサーバーリソースを消費してしまうだけなので、圧縮しないようにしています。

.htaccessファイルに記述したらサーバーにアップしてください。

<IfModule mod_deflate.c>
   SetOutputFilter DEFLATE

   # Mozilla4系などの古いブラウザで無効、しかしMSIEは除外
   BrowserMatch ^Mozilla/4\.0[678] no-gzip
   BrowserMatch ^Mozilla/4 gzip-only-text/html
   BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

   # gifやjpgなど圧縮済みのコンテンツは再圧縮しない
   SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI _\.utxt$ no-gzip

   # htmlやcssなどは圧縮
   AddOutputFilterByType DEFLATE text/plain
   AddOutputFilterByType DEFLATE text/html
   AddOutputFilterByType DEFLATE text/xml
   AddOutputFilterByType DEFLATE text/css
   AddOutputFilterByType DEFLATE application/xhtml+xml
   AddOutputFilterByType DEFLATE application/xml
   AddOutputFilterByType DEFLATE application/rss+xml
   AddOutputFilterByType DEFLATE application/atom_xml
   AddOutputFilterByType DEFLATE application/x-javascript
   AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>

PageSpeed Insightsで再測定してみた

mod_deflateを追記する前の前回の測定結果は、mod_pagespeedを設定した際の測定になるので、『mod_pagespeedでアクセス速度改善』のページを参照してください。

測定結果は次の通り。
画像はクリックすると拡大できます。

[デスクトップPC]
moddeflate1(after)
[モバイル]
moddeflate2(after)


下記は、PCでアクセスした際の結果の詳細です。モバイルもほぼ同様の改善結果となっています。ポイントが更にあがり『圧縮を有効にする』も合格になりました。

気になる点としては、画像では分かりませんが、『サーバー応答時間を短縮する』の指摘の詳細を確認するとサーバー応答時間が1.9秒から2.3秒へ若干だけ落ちていました。これが誤差なのか、それともリソース消費による低下なのかはわかりませんが、一応気には留めておきます。

対策全く無し mod_pagespeed導入 mod_pagespeed+mod_deflate導入
ポイント 58 65(+7) 67(+9)
ブラウザのキャッシュを活用する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
サーバーの応答時間を短縮する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
圧縮を有効にする 修正の考慮が必要 修正の考慮が必要 合格
CSS を縮小する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
画像を最適化する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
JavaScriptを縮小する 修正の考慮が必要 修正の考慮が必要 修正の考慮が必要
HTMLを縮小する 修正の考慮が必要 合格 合格

宜しければ参考にしてください。
不明な点があれば問い合わせフォームからご連絡ください。

コメントを残す

*

このページの先頭へ