はじめての自宅サーバ構築 - Fedora/CentOS - Last Update 2008/05/16
It opened to 2004/09/19.
当サイトはFedora9で運用しています
Visitors
Pageviews
Today(IP/PV)
3,250,868
11,998,760
1,337/7,417
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / CentOS4 / CentOS5 ]
  1. コンテンツの圧縮利点
  2. apacheの設定ファイルの設定
  3. 動作の確認
  4. ログファイルの無効化

■ コンテンツの圧縮利点

apacheのデフォルト状態ではコンテンツの転送(いわゆる通信内容)はサーバにあるコンテンツの大きさをそのままの状態で皆様の所に送信しています。
この場合、大きなコンテンツの場合はサーバ側では転送に、クライアント(皆様側)では受信に時間がかかってしまいます。
以下の設定を行うことにより、サーバ側で送信する前にコンテンツを圧縮し転送量を減らす事ができます。
(但し、クライアント側では、HTTP 1.1に準拠していなければなりません。準拠していない場合は、文字化け等の障害もありますのでご注意ください)

■ apacheの設定ファイルの設定

モジュール組み込みの確認
# cat /etc/httpd/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so

上記のmod_deflate.soが定義されている事を確認します。
定義されていない場合、インストール等の方法は紹介致しません。
ソースからのコンパイル等で紹介されているサイトをご参照ください。

apache設定ファイルの変更
# vi /etc/httpd/conf/httpd.conf
最下位行に以下を追加します
コンテンツ圧縮の設定
<Location />
    SetOutputFilter DEFLATE
</Location>

圧縮率の設定
DeflateCompressionLevel 5
圧縮率は1〜9で設定します
低圧縮(1)〜高圧縮(9)で指定できますが、高圧縮になるにつれサーバCPU使用量が高くなります

圧縮ログの設定
DeflateFilterNote Input incontents
DeflateFilterNote Output outcontents
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outcontents}n/%{incontents}n (%{ratio}n%%) %{User-agent}i' deflate
CustomLog logs/access_deflate deflate

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

■ コンテンツ圧縮動作の確認

apacheを再起動したら、通常通りコンテンツ(サーバ)へアクセスします。
ナローバンド等であれば体感できる程のアクセス速度ですがブロードバンドでは、それ程体感できないかもしれません。
どれ位圧縮転送出来たか確認
# cat /var/log/httpd/access_deflate
"GET /apache_conf.shtml HTTP/1.1" 22138/67619 (32%) Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 3.1.0)
"GET /image/apache.gif HTTP/1.1" -/- (-%) Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Lunascape 3.1.0)

一部抜粋していますが、apache.shtmlに対して本来の大きさ(67691Byte)に対して転送バイトは(22138)となり
32%の圧縮で転送されているのが分かります。
apache.gif等の画像系(*.jpeg等)は元々が圧縮されている為、効果は得られません。

■ ログファイルの無効化

圧縮ログのコメント化(先頭に#を付けてコメント化)
#DeflateFilterNote Input incontents
#DeflateFilterNote Output outcontents
#DeflateFilterNote Ratio ratio
#LogFormat '"%r" %{outcontents}n/%{incontents}n (%{ratio}n%%) %{User-agent}i' deflate
#CustomLog logs/access_deflate deflate

■ 広告

ページ先頭へ

Copyright(©)2004-2008 First home server construction. All Right Reserved.