mod_deflate/ob_gzhandler/zlib 横向测试

本文详细对比了Apache的mod_deflate模块、ob_gzhandler和zlib三种压缩方式在Ubuntu6.10环境下的压缩效果,测试结果显示mod_deflate模块压缩率最高,适用于多种文件类型的压缩。

前面说道建议打开WordPress的gzip压缩功能,然而使用Apache的mod_deflate模块效果更加好,因为它可以压缩多种文件类型。这篇文章比较了mod_gzip和mod_deflate不同的压缩效果,但现在Apache2主机用到mod_gzip模块不多,因为它自带了mod_deflate。今天我把mod_deflate模块、ob_gzhandler和zlib这3种压缩方式做一个横向测试(ob_gzhandler和zlib的区别),看看它们的压缩强度哪个更高。

一、服务器配置

操作系统:Ubuntu 6.10 (Edgy Eft) x86 desktop
浏览器:Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.8.1.2) Gecko/20060601 Firefox/2.0.0.2 (Ubuntu-edgy)
Apache版本:2.0.55
PHP版本:5.1.6
zlib版本:1.2.3

二、3种压缩方式和相应的配置文件设置

1、使用Apache2的mod_deflate模块

php.ini设置:
output_buffering = Off
output_handler =
zlib.output_compression = Off

apache2.conf设置:
LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
AddOutputFilter DEFLATE xml php js css

2、使用输出缓冲方式ob_gzhandler

php.ini设置:
output_buffering = On
output_handler = ob_gzhandler
zlib.output_compression = Off

apache2.conf设置:
#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
#AddOutputFilter DEFLATE xml php js css

3、使用内置的zlib压缩方式(默认6级)

php.ini设置:
output_buffering = Off
output_handler =
zlib.output_compression = On

apache2.conf设置:
#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
#AddOutputFilter DEFLATE xml php js css

三、3个待测文件
sitemap.xml 128.305 kb
prototype.js 55.185 kb
style.css 13.810 kb

四、测试结果

由于后面2种方式不能直接对xml/js/css进行压缩,我把这个3个文件都加上了.php后缀。

测试数据如下:

 

 

图片

 

从测试结果来看,它们几个压缩率相差很小,可能都是采用gzip数据格式压缩的原因,只是工作方式不同而已。采用Apache的 mod_deflate模块压缩率最高,使用9级的zlib压缩也不能和它相比,那么mod_deflate的优势就是通过简单的设置,就可以压缩多种数 据格式的文件。nowa说道 “css 改php然后gzip”这种做法不好,我没有测试过一个20k的CSS不压缩和改成php然后gzip,到底哪个效果好?但我知道20k的css通过 mod_deflate直接压缩是最好的。无论采用哪种方式,只要有压缩就需占用服务器资源,像163、sina这些大站都是采用静态化加gzip输出 的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值