【Apache】deflateを設定して高速化

知らなかった知識が増えることはいいことだと思う。

どんどん吸収していけたら、いいのにな。

最近会社に新しく入社した人が、けっこう知識マンなので非常にためになる話がきけて良い。

 

今までずっとApacheつかってPHP書いていたくせに、高速化とか気にしたことなかったから、目からウロコちゃんだったのが、このdeflateの設定だ。

deflate を設定すると、コンテンツを圧縮して転送量を減らすことができるらしい…

設定はとても簡単だった。今まで知らなかったことが悔しいくらい。

 

以下、Apacheのdeflateの設定方法

①「/etc/httpd/conf.d/deflate.conf」ファイルを生成する。

②生成した deflate.conf ファイルに以下の文を書く。

<IfModule mod_deflate>
     SetOutputFilter DEFLATE
 
     # Mozilla4系などの古いブラウザで無効、しかしMSIEは除外
     BrowserMatch ^Mozilla/4\.0[678] no-gzip
     BrowserMatch ^Mozilla/4 gzip-only-text/html
     BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
     # gifやjpgなど圧縮済みのコンテンツは再圧縮しない
     SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
     SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
 
     # htmlやcssなどは圧縮
     AddOutputFilterByType DEFLATE text/plain
     AddOutputFilterByType DEFLATE text/html
     AddOutputFilterByType DEFLATE text/xml
     AddOutputFilterByType DEFLATE text/css
     AddOutputFilterByType DEFLATE application/xhtml+xml
     AddOutputFilterByType DEFLATE application/xml
     AddOutputFilterByType DEFLATE application/rss+xml
     AddOutputFilterByType DEFLATE application/atom_xml
     AddOutputFilterByType DEFLATE application/x-javascript
     AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>

③最後にApacheを再起動

service httpd restart

 

たったこれだけで、高速化が望めるなんてすごい。

 

ただし、転送量がヘル反面、CPUの処理は増えるらしい。

ボトルネックとなっているものがCPUの処理の場合には逆にレスポンスが低下する。

回線が遅く、処理に時間がかかる場合は有効だ。