Discuz加快页面输出

作者:admin 发布时间:March 16, 2008 分类:默认

最近服务器速度很慢,一直掉包,往往数据还没传输完就掉包,断开了。
十分影响网站访问,但也没办法解决,只能通过程序上节省一些数据开销,尽可能让数据能在联通的时候,迅速的传输完成。
gzip是必不可少的配置,apache2.0以上的话就采用mod_deflate这个模块,效果一样的,启用后能大幅度较少数据传输量。
当然程序上也不能马虎,尽最大可能不把时间浪费再传输空行上。

  Discuz


include的目录下global.func.php

PHP代码
  1. $content = preg_replace($searcharray$replacearray, ob_get_contents()); //查找该行,添加如下行。  
  2. $content = str_replace(array("\n","\r","\t"),'',$content);   


下面附带mod_deflate的一些配置:

在http.conf檔案裡有關載入模組的地方,加上這一行:

LoadModule deflate_module modules/mod_deflate.so

接著,在http.conf檔案後面,加上這一段:

<ifmodule mod_deflate.c>

DeflateCompressionLevel 9

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php

AddOutputFilter DEFLATE js css

</ifmodule>

這樣的作法可以壓縮一般網頁中會用到的html、xml、php、css、js等格式檔案輸出,雖然會佔用掉伺服器處理器的一點點處理器時間,瀏覽者在接收網頁資料時也會消耗極短暫的一點點處理器時間(短到使用者不可能察覺),不過卻可以大幅減少資料傳輸量,減少網路頻寬被吃掉的情形。



DeflateCompressionLevel 9是指壓縮程度的等級,從1到9,9是最高等級。據了解,這樣做最高可以減少8成大小的傳輸量(看檔案內容而定),最少也能夠節省一半。



DeflateCompressionLevel 預設可以採用 6 這個數值,以維持耗用處理器效能與網頁壓縮品質的平衡。



至於已經是壓縮過的圖片格式如jpg,音樂檔案如mp3、壓縮檔如zip之類的,就可以不需要再壓縮了,因為這種檔案你一開放伺服器傳輸時壓縮,處理器時間會跑不完。



有關這個mod_deflate的效能,這篇文章Apache 2 mod_deflate Benchmark分析得很好,也值得參考。



要檢查加上模組的成果,可以馬上透過這個網站來看看壓縮效率如何Real-Time Compression Check

标签: discuz, gzip, mod_deflate

添加新评论 »

captcha
请输入验证码