gzip压缩率测试以及PHP如何启用gzip

2017-8-16 chuang_no1

300条产品数据的二维数组,转JSON发送,原始数据158KB。然后在不同级别的gzip下测试结果如表:


gzip压缩级别 数据大小
0 158KB
1 11.2KB
2 10.5KB
3 10.1KB
4 9.3KB
5 8.7KB
9 7.3KB
10 158KB
-1 8.3KB


可见设为0就是关闭,和原始数据一样。设为1的时候,就已经可以节省93%的带宽和流量,然后每提升一档,其实效果已经非常有限了,但是据说CPU占用率会指数上涨,所以综合看下来,对于文本类的数据,压缩率1已经是完全可以满足要求且性能上最节省,没必要设定更高的压缩级别。也正是基于此原因,并没有进一步做效率测试,只打算使用级别1的压缩。


对于-1这个诡异的值,因为是启用gzip之前的默认值,也好奇测试了一下,得到介于5~9之间的值,似乎相当于官方的推荐值6的效果,不过实际使用中一般也只会设为正数。而对于10,完全没效果,看来超出了范围,所以压缩级别应该是1~9之间。


而对于多媒体的文件来说,本身已经非常固实,而且数据流巨大,压缩实在不划算,建议在配置文件里面仅仅指定针对文本类型的MIME开启gzip,指定MIME的方法这里不重复。


如何开启以及设定gzip压缩级别:


打开PHP的配置文件php.ini,找到开关


zlib.output_compression = off    //去掉前面的注释并将off改为on;


然后找到压缩级别


;zlib.output_compression_level = -1    //去掉前面的注释并将数字改为你希望的

重启服务器,搞定。


另外据说【;zlib.output_handler】必须保持被注释状态,因为此参数和前面的设置冲突——官方的说法。


评论(0) 浏览(945)

Powered by emlog 沪ICP备13034247号-2