Gzip在apache2中的設置和squid對它的處理方法分析
2020-07-08 13:01:09
供稿:網友
gzip可以級大的加速網站.有時壓縮比率高到80%,近來測試了一下,最少都有40%以上,還是相當不錯的.在Apache2之后的版本,模塊名不叫gzip,而叫mod_deflate
如果要開啟gzip的話,一定要打開下面二個模塊.
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
設置壓縮比率,取值范圍在 1(最低) 到 9(最高)之間,不建議設置太高,雖然有很高的壓縮率,但是占用更多的CPU資源.
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI //.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #對代理的設置
</Location>
下面二個測試網站
http://www.whatsmyip.org/mod_gzip_test/
http://www.gidnetwork.com/tools/gzip-test.php
測試數據對css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
測試數據js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%
測試數據php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是隨機拿的幾個數據,看的出來,使用了gzip壓縮后文件小多了.
另外講一下,有關squid對gzip的處理
在squid中,對同一個URL只保留一份緩存。對于如果不同browser(是否支持壓縮)如果頻繁交替訪問,例如:對某個cache住的目標,一個http/1.0請求可能會導致squid強制更新其緩存。但接下來的另一個http/1.1請求又會導致squid再次更新緩存。這樣那squid緩存數據就要頻繁更新,這就極大的降低了cache命中率。
不過還好,現實環境中不支持壓縮的browser畢竟是很少的情況,所以對于緩存命中率的降低很有限.