サーバー通信データ圧縮化(Apache2 + mod_deflate) |
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 (文字の検索はコマンドモードで「?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.