一、服務(wù)器配置
操作系統(tǒng):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種壓縮方式和相應(yīng)的配置文件設(shè)置
1、使用Apache2的mod_deflate模塊
php.ini設(shè)置:output_buffering = Off
output_handler =
zlib.output_compression = Off
apache2.conf設(shè)置:LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
AddOutputFilter DEFLATE xml php js css
2、使用輸出緩沖方式ob_gzhandler
php.ini設(shè)置:output_buffering = On
output_handler = ob_gzhandler
zlib.output_compression = Off
apache2.conf設(shè)置:#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
#AddOutputFilter DEFLATE xml php js css
3、使用內(nèi)置的zlib壓縮方式(默認(rèn)6級(jí))
php.ini設(shè)置:output_buffering = Off
output_handler =
zlib.output_compression = On
apache2.conf設(shè)置:#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
#AddOutputFilter DEFLATE xml php js css
三、3個(gè)待測文件
sitemap.xml 128.305kb
prototype.js 55.185kb
style.css 13.810kb
四、測試結(jié)果
由于后面2種方式不能直接對(duì)xml/js/css進(jìn)行壓縮,我把這個(gè)3個(gè)文件都加上了.php后綴。
測試數(shù)據(jù)如下:
從測試結(jié)果來看,它們幾個(gè)壓縮率相差很小,可能都是采用gzip數(shù)據(jù)格式壓縮的原因,只是工作方式不同而已。采用Apache的mod_deflate模塊壓縮率最高,使用9級(jí)的zlib壓縮也不能和它相比,那么mod_deflate的優(yōu)勢就是通過簡單的設(shè)置,就可以壓縮多種數(shù)據(jù)格式的文件。nowa說道“css改php然后gzip”這種做法不好,我沒有測試過一個(gè)20k的CSS不壓縮和改成php然后gzip,到底哪個(gè)效果好?但我知道20k的css通過mod_deflate直接壓縮是最好的。無論采用哪種方式,只要有壓縮就需占用服務(wù)器資源,像163、sina這些大站都是采用靜態(tài)化加gzip輸出的。
新聞熱點(diǎn)
疑難解答
圖片精選