2008年02月22日
tipjarok_banner88x31_green.gif

mod_deflateによるコンテンツのgzip圧縮転送の効果


フロントエンドのパフォーマンスチューニングで、やっぱり気になるのが、gzip圧縮をして転送量を減らすこと。圧縮していないので、以下のように YSlow では、F という最低のステータスになっていた。

F 4. Gzip components

これではいけないと、gzip圧縮について調査してみることにした。

mod_deflateを利用してHTTPレスポンスをgzip圧縮

Apache2.0, 2.2系統ならmod_deflateを利用することでレスポンスの圧縮が可能です。ちなみにApache2.2系からはmod_filterがどうも推奨されているようなのですが、まとまった情報が少なかったので、今回はmod_deflateを利用してみることにします。

ほんの少し手を入れてあげるだけでグーンと効果があるので、mod_deflateをまだ試していないWeb屋さんは、ぜひ検討をば。もちろん圧縮についてはCPUを食うので、現状でWebサーバのCPUリソースを結構消費している場合は要検討ですよ。

とのことで、mod_deflateを使うメリットとして転送量の削減があるが、デメリットとしては、CPUの負荷増加ということがあるみたい。


ファイルを圧縮するmod_deflateの効果

データを圧縮する前と比べて、2/3近く転送量が軽減されたことがわかりました。 当然、クライアントにデータを送る前にサーバー側で圧縮処理を行っているため、CPUの負荷は多少上がっています。ですが、負荷上昇により体感的な処理速度の差が感じられたかというと、圧縮前と圧縮後で特に違いは感じられませんでした。

つまり、大した苦労もなく、転送量が1/3程度になったということです。このサーバーでは、静的・動的に関わらず、ほとんどがテキスト系のコンテンツで構成されているため、その効果も大きかったと思われます。

サイトによって、CPUの負荷<転送量軽減 というケースで一番よさげ。画像ばっかりのサイトではあんまり意味ない。

Webサイトの高速化 ルール4 コンポーネントを圧縮しよう!

gzip による圧縮はだいたい70%程度、レスポンスのサイズを減らします。今日のインターネットトラフィック上で使用されているブラウザの90%はgzipをサポートしています。Apahceを使用しているのなら、gzipのモジュール設定はそのバージョンによります。1.3系ならmod_gzipを、2系ならmod_deflateを使用して下さい。

だいたい70%くらい転送量が減るとのこと。
結構大きいね。
設定方法などは以下の記事を参考に。

@IT - mod_deflateによるコンテンツの圧縮転送

すでに、httpd.confでモジュールの読み込みはされていたので、追加で設定したのが、以下。画像などが意味なく圧縮されないように圧縮するファイルタイプを限定して設定した。

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rdf+xml


効果をYSlowでみてみると・・・・

21.4K →5.8K

となり、73%減少した!
以下のサイトでも圧縮されているかどうかチェックできる。

Compression Check

圧縮されていない場合は以下のような結果になる。

Compression status: Uncompressed

うまく圧縮されていれば、以下のようになる。

Compression status: Compressed (gzip)

ちなみにYahooでは、gzip圧縮のデメリットであるCPU負荷が高くなる点に考慮して、CPUのアイドルが10%を切るとmod_gzipがオフになるという仕組みを導入してるらしいです。

CPU 負荷にあわせて mod_deflate のオン / オフ切り替えはできないか?

さすがですな。



« ブログの構造を 2カラム→3カラム に変更してみた | トップページ | 遺伝子で禿リスクを予測できるらしい!でも・・・・ »






この記事を読んだ人はこんな記事も読んでいます



トラックバック

このエントリーのトラックバックURL:
http://shoulder.s51.coreserver.jp/mt/mt-tb.cgi/7903

 

shoulder.jp | Copyright © Shoulder. All rights reserved. |  

 [PR] | 羽毛布団とダニ対策 | 胃がんの進行 | 保険見直しと住宅購入 | 迷惑メールの自己防衛方法 | とびひと他の病気との関係 | 不動産投資の種類 | フラダンスを習う前のポイント | 耳の老化を予防する | 更年期障害と間違えやすい病気 | 日本看護協会 | 一眼レフの選び方 | やずや 香酢 | 子宮筋腫の病院選び | 孫の将来に口出しする姑 | 脊髄損傷 | レンタルサーバーの転送量制限 | 過敏性腸症候群の診断 | プレイ前の注意点 | プライバシーポリシー | 懸賞に当たる応募はがきの書き方 | メンズコスメでUVケア | 介護保険制度 | 債務整理の目的とは | 保育園の倒産 | うつ病休職 | ラインに関するプレー | リフレクソロジー 神奈川 | カードローン「プロミス」 | バーベキューブログ | サッカールール - オフサイド |