mon_gzipを入れた
mod_gzip is an Internet Content Acceleration module for the popular Apache Web Server. It compresses the contents delivered to the client. There is no need to install any additional software on the client!
サーバからクライアント(ブラウザー)への転送時に圧縮を施す事によって、回線負荷を軽減するという。 送信時に圧縮処理をする為、サーバ負荷は増えるけれども、昨今サーバ環境も速くなってるし、細い回線を使っているのであれば是非ともテストしてみたいのがこのApacheモジュール「mod_gzip」です。 ...って、自分を納得させる為のこの文章です。
Apache2ではもっと簡単に組み込めるらしいんだけど、何せ当サーバーはApache1なので、以下に覚え書きを書いておかないと、後で絶対に忘れちゃうと思うし。 でも、次にサーバを立てるとしたら、Apache2なんだろうなぁ。
さておき、
Windows & Apache1環境に於いて必要なのはDLLファイルです。 公式サイトから「ApacheModuleGzip.dll.zip」をダウンロードし、展開した「ApacheModuleGzip.dll」をApacheのmodulesディレクトリーに入れます。 これでインストールは完了。
次にhttpd.confを開いて、
LoadModule gzip_module modules/ApacheModuleGzip.dll
と、LoadModuleが並んでいるところの下にでも追記し、続いてAddModuleが並んでいるところの後に
AddModule mod_gzip.c
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_temp_dir "C:¥tmp"
mod_gzip_keep_workfiles No
mod_gzip_minimum_file_size 1000
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 60000
mod_gzip_min_http 1001
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.htm$
mod_gzip_item_include file \.html$
mod_gzip_item_exclude file \.js$
mod_gzip_item_exclude file \.css$
mod_gzip_item_include file \.pl$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-httpd-php
mod_gzip_item_include mime ^httpd/unix-directory$
mod_gzip_item_include handler ^perl-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_exclude mime ^image/.*
mod_gzip_dechunk Yes
mod_gzip_add_header_count No
</IfModule>
こんな風に追記します。 っていうか殆どが公式サイトのドキュメントのまんまなんですけれども、注意が2点。 mod_gzip_temp_dirの値は圧縮処理に使うテンポラリーディレクトリーですので、各々の環境で異なります。 RAMディスクがあればそこを設定すると幸せになれるんだそうだ。 それと、mod_gzip_maximum_inmem_sizeの最大値は60000(64KB)なのだそう。
これでApacheを再起動すればmod_gzipが稼働するのですけれども、
LogFormat "%h %l %u %t ¥"%r¥" %>s %b ¥"%{Referer}i¥" ¥"%{User-Agent}i¥" ¥"mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct.¥"" combined
このようにログファイルのフォーマットに追記する事で、実際の稼働状況がわかります。
192.168.1.2 - - [06/Dec/2006:06:56:55 +0900] "GET / HTTP/1.1" 200 10496 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac; rv:1.8.1) Gecko/20061010 Firefox/2.0" "mod_gzip: DECHUNK:OK In:37815 Out:10496:73pct."
37815バイトのデータが10496バイトに圧縮されて転送されましたよ、と。 73%の圧縮率だよ、と。
尚、ステータスコードについては公式サイトの情報をご覧頂くのが一番かも。 常に圧縮される訳ではありませんので注意が必要です。 ログとにらめっこしてブラッシュアップしなくちゃですねぇ。




