サーバー通信データ圧縮化(Apache2 + mod_deflate)Vine3編

mod_deflateとはApacheのモジュールの一つで、サーバーからサイト観覧ユーザーまで、コンテンツを圧縮して転送することによりネットワークの帯域を節約することが可能になります。

Apache2には既にmod_deflateモジュールがインストールされています。
確認する場合は /usr/lib/apache2/modules/ にmod_deflate.soがあるか確認してください。

※ mod_deflateはApache2系のモジュールです。Apache1.3では mod_gzipというモジュールを使用します。

Apache2の設定


# vi /etc/apache2/conf/httpd.conf ← 編集
 i キー(入力モード)

下記を追記していきます。

モジュールを読み込み指定
LoadModule deflate_module modules/mod_deflate.so

DEFLATEを有効化
SetOutputFilter DEFLATE

圧縮レベルを指定(低1〜9高)
値が大きくなるほど圧縮率は大きくなりますが、その分CPUの負荷が高くなります。
運用状況に合わせて徐々に値を上げるようにしましょう。

DeflateCompressionLevel 5

ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮
BrowserMatch ^Mozilla/4 gzip-only-text/html

ブラウザがNetscape 4.06-4.08の場合は圧縮しない
BrowserMatch ^Mozilla/4\.0[678] no-gzip

ブラウザがMSIEの場合は全て圧縮
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

画像ファイルは圧縮しない
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

圧縮未対応ブラウザへは圧縮ファイルを送信しない
Header append Vary User-Agent env=!dont-vary

ログの取得
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %{User-agent}i' deflate
CustomLog logs/deflate_log deflate

追記したら Esc キー(コマンドモード):wqで保存


# /etc/rc.d/init.d/apache2 restart ← 再起動
httpdを停止中:                    [ OK ]
httpdを起動中:                    [ OK ]

データ圧縮の確認



※ まず最初に自分のサイトにアクセスをします。


# tail /var/log/apache2/deflate_log ← ログの確認
"GET /~sonicboom/img/aomaru_m.gif HTTP/1.1" -/- (-%) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
"GET /~xxxxx/aaaaa/html/01_04.html HTTP/1.1" 4901/27423 (17%)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

ログを確認したら今度はこちらのサイトで確認します。

「Enter URL」に、自分のホスト名(例:xxxxx.com)を入力、
次に「goボタン」を押したら、別ウィンドウのページが開きます。

Summary:の項目で

Compression status: Compressed (gzip)

と表示されていればきちんと圧縮できていると言う事です。

File Size Comparison (in bytes):
この項目では、圧縮前後でのファイルサイズや圧縮率を確認する事ができます。

Speed Comparison by Connection Type (in seconds):
この項目では、圧縮前後での通信速度を確認する事ができます。

これらの項目をチェックして、どれくらい圧縮による効果があるか確認します。




Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.