当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Gzip在apache2中的设置和squid对它的处理方法分析

Unix/Linux
libtcl8.3下载|无法找到libtcl8.3
libmysqlclient.so.10无法找到
Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin
glibc安装错误|glibc安装出错
Zlib是什么?|Zlib的作用是什么?|Zlib有什么作用?
什么是glibc?glibc是什么?什么是freetype?freetype是什么?什么是?Xlib是什么?什么是lo
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
mysqld是什么意思?如何卸载mysqld?
linux 卸载 mysql
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
linux下tar命令rpm命令参数列表
linux rpm卸载参数
ERROR 1045: Access denied for user: root@localhost (Using password: NO)
您的服务器不支持mysql数据库
服务器不支持mysql数据库
mysql 如何添加/创建用户
/usr/bin/install: 无法创建一般文件‘/usr/local/man/man1/cjpeg.1’: 没有那个文件
png.h:329:18: zlib.h: 没有那个文件或目录
您的服务器不支持MySql数据库,无法安装论坛程序
phpMyAdmin

Unix/Linux 中的 Gzip在apache2中的设置和squid对它的处理方法分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 45 ::
收藏到网摘: n/a

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毕竟是很少的情况,所以对于缓存命中率的降低很有限.