三月 26th, 2007

mod_deflate/ob_gzhandler/zlib 横向测试

Category: Journal, Author: Nicky, Popularity: 9%
asf_logo_wide.gif 前面说道建议打开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.305kb prototype.js 55.185kb style.css 13.810kb 四、测试结果 由于后面2种方式不能直接对xml/js/css进行压缩,我把这个3个文件都加上了.php后缀。 测试数据如下: mod_deflate ob_gzhandler zlib 横向测试 从测试结果来看,它们几个压缩率相差很小,可能都是采用gzip数据格式压缩的原因,只是工作方式不同而已。采用Apache的mod_deflate模块压缩率最高,使用9级的zlib压缩也不能和它相比,那么mod_deflate的优势就是通过简单的设置,就可以压缩多种数据格式的文件。nowa说道“css改php然后gzip”这种做法不好,我没有测试过一个20k的CSS不压缩和改成php然后gzip,到底哪个效果好?但我知道20k的css通过mod_deflate直接压缩是最好的。无论采用哪种方式,只要有压缩就需占用服务器资源,像163、sina这些大站都是采用静态化加gzip输出的。

Tags:, , , , .
评论数量(11) | Add Comments
本文网址:http://www.osxcn.com/journal/mod_deflate-ob_gzhandler-zlib.html



11 Comments so far

» You can leave a response or Trackback .

  1. Gravatar Icon dancemoon Says:
    为什么你每次更新都最近5篇输出rss,严重抗议 :roll:
  2. Gravatar Icon Nicky Says:
    你使用的什么阅读器,我使用抓虾和Google Reader都没有这个现象啊?
  3. Gravatar Icon dancemoon Says:
    bloglines
  4. Gravatar Icon xorms Says:
    是特意设置的摘要输出吗?
  5. Gravatar Icon Nicky Says:
    设置的全文输出哈!
  6. Gravatar Icon LEMONed Says:
    大家的rp都遇到问题了
  7. Gravatar Icon xorms Says:
    奇怪了……google reader里只能看到摘要……郁闷~
  8. Gravatar Icon SkyLanD Says:
    你用了More标签,全文输出也只能输出More之前的。
  9. Gravatar Icon Nicky Says:
    我从bo-blog开始就喜欢使用More标签,至于这个问题在这里已经讨论了。 在bloglines里面确实每次都要更新几篇文章,我好像以前也发现了这个问题,由于转了Google Reader就没有去管了,我觉得这个问题可能是feedsky引起的,今天我没有更新文章而bloglines又收到了5篇更新(但没有最新的一篇“亮丽的主题 Shinythings 1.0”),还有3篇是del.icio.us的。我的feed是先通过feedsky然后转到feedburner的,没有办法,feedburner有时不能访问我的blog。
  10. Gravatar Icon Zhang Says:
    能用deflate肯定用deflate啊,gzip的压缩模式很搞笑,压缩之后放到磁盘上,而deflate是直接内存的操作,快多了
  11. Gravatar Icon Jesse Says:
    压缩 .php 文件效果很明显,而把 .css 改成 .css.php 再压缩输出效果不但不会快,而且还会拖慢速度,在 digbuzz.com 的 30k css 文件上反复进行了测试。 http://www.digbuzz.com/woji/CdrPlum/224

4 Trackbacks/Pingbacks

leave a reply