IIS啟用Gzip的方法與優(yōu)缺點(diǎn)分析
IIS6已經(jīng)內(nèi)建了Gzip壓縮的支持,可惜,沒(méi)有設(shè)置更好的管理界面。所以要打開(kāi)這個(gè)選項(xiàng),還要費(fèi)些功夫。
首先,如果你需要壓縮靜態(tài)文件(HTML),需要在硬盤(pán)上建一個(gè)目錄,并給它“IUSR_機(jī)器名”這個(gè)用戶的寫(xiě)權(quán)限。如果壓縮動(dòng)態(tài)文件(PHP,asp,aspx)就不需要了,因?yàn)樗捻?yè)面是每次都動(dòng)態(tài)生成的,壓縮完就放棄。然后在IIS管理器中,“網(wǎng)站”上面右鍵-屬性,不是下面的某個(gè)站點(diǎn),而是整個(gè)網(wǎng)站。進(jìn)入“服務(wù)”標(biāo)簽,選上啟用動(dòng)態(tài)內(nèi)容壓縮,靜態(tài)內(nèi)容壓縮。
然后選中網(wǎng)站下面那個(gè)服務(wù)器擴(kuò)展,新建一個(gè)服務(wù)器擴(kuò)展。名字無(wú)所謂,下面的添加文件的路徑是:
c:\windows\system32\inetsrv\gzip.dll,然后啟用這個(gè)擴(kuò)展。
這時(shí)候靜態(tài)內(nèi)容是可以壓縮的,但是對(duì)于動(dòng)態(tài)內(nèi)容,aspx文件卻不在壓縮范圍內(nèi)。因?yàn)槟J(rèn)的可壓縮文件并沒(méi)有這個(gè)擴(kuò)展名。而管理界面中你又找不到可以增加擴(kuò)展名的地方,這時(shí)候只能去修改它的配置文件了。
在 c:\windows\system32\inetsrv\下面有個(gè)MetaBase.xml文件,可以用記事本打開(kāi),找到IIsCompressionScheme,有三個(gè)相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數(shù),在這兩段的參數(shù)HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動(dòng)態(tài)程序要壓縮,也加在這里。HcDynamicCompressionLevel改成9,(0-10,9是性價(jià)比最高的一個(gè))。
讓Discuz速度再次提升 ——“開(kāi)啟IIS Gzip壓縮”
以下方法將提升Discuz6.1壓縮率0.33%,雖然很小,但對(duì)于一些訪問(wèn)量萬(wàn)以上的站點(diǎn),將可能是一個(gè)速度上的飛躍(未嘗試,所以是可能)。這里之所以說(shuō)Disczu6.1壓縮率提升0.33%,因?yàn)橐韵聹y(cè)試是在Discuz6.1下進(jìn)行的,其他的建站程序一樣適用(但是,提升的百分比,就不得而知了,歡迎大家測(cè)試)
注:通過(guò)提高壓縮率,從而提升了用戶瀏覽網(wǎng)站的速度。
【以下是實(shí)際的數(shù)據(jù)測(cè)試結(jié)果】
未開(kāi)啟任何Gzip時(shí):
開(kāi)啟了Discuz6.1后臺(tái)的Gzip壓縮:
開(kāi)啟Windows2003 II6中Gzip壓縮:
通過(guò)以上數(shù)據(jù)對(duì)比,似乎提高了 0.33% 不足以說(shuō)明什么。個(gè)人覺(jué)得當(dāng)是一個(gè)較大網(wǎng)站的時(shí)候(前提硬件滿足),開(kāi)啟它會(huì)明顯使速度提高。(提升速度的同時(shí),就是犧牲系統(tǒng)資源,所以如果服務(wù)器的配置不是太好,需要調(diào)整相關(guān)參數(shù))
以上數(shù)據(jù)來(lái)源于 http://www.pipeboost.com ,進(jìn)入后在這個(gè)位置輸入網(wǎng)址:
【如何配置II6中Gzip壓縮?】
注:以下教程,部分不給予太多說(shuō)明,只要按照以下配置,一般不會(huì)出現(xiàn)問(wèn)題(由于自身在配置時(shí),很順利,如果有遇到問(wèn)題,首先請(qǐng)?jiān)敿?xì)核對(duì)步驟3次,如果都正確,依然問(wèn)題存在的話,請(qǐng)回復(fù)告知)
如果你要進(jìn)行測(cè)試或安裝,請(qǐng)一個(gè)一個(gè)字認(rèn)真閱讀!
步驟一:
打開(kāi)II6界面 > 選擇“網(wǎng)站” > 右鍵屬性 > 選擇“服務(wù)”> 按照?qǐng)D中打鉤
其中“臨時(shí)目錄的最大容量”與“臨時(shí)目錄”依據(jù)自身自行更改設(shè)置
特別注意,要給予臨時(shí)目錄 User權(quán)限(寫(xiě)入、修改、讀?。?/FONT>
步驟二:
選擇“Web服務(wù)擴(kuò)展” > 在右側(cè)空白處右“鍵新Web服務(wù)擴(kuò)展” > 按照?qǐng)D輸入相關(guān)
“設(shè)置擴(kuò)展?fàn)顟B(tài)為可選”打鉤
“添加文件”很可能由于每個(gè)人服務(wù)器配置不同,請(qǐng)自行搜索下(或者按照?qǐng)D中打入,看看是否存在)
步驟三:
開(kāi)始 > 運(yùn)行中輸入 c:\windows\system32\inetsrv (如果錯(cuò)誤,請(qǐng)按照?qǐng)D中輸入)> 找到 MetaBase.xml
復(fù)制一份到桌面(并更改為 bak_MetaBase.xml),作為備份。
步驟四:
用文本等工具打開(kāi) MeteBase.xml > 搜索 Location ="/LM/W3SVC/Filters/Compression/gzip"
然后,你將看到如下代碼(仔細(xì)核對(duì)下段落)
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="FALSE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
替換成:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="2"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>
紅色部分為你要壓縮的文件類型,請(qǐng)自行增加。上方為靜態(tài)類文件,下方為動(dòng)態(tài)類文件。
藍(lán)色部分為壓縮等級(jí),數(shù)值為 0-10 ,請(qǐng)自行根據(jù)服務(wù)器硬件等環(huán)境來(lái)做調(diào)試(可以先用文章開(kāi)頭時(shí)提到的網(wǎng)址,先測(cè)試并記錄“未開(kāi)啟任何Gzip的數(shù)值”與“開(kāi)啟Discuz6.1后臺(tái)Gzip數(shù)值”,然后配置完成,再記錄“開(kāi)啟IIS6下的Gzip時(shí)的數(shù)值”,3個(gè)就可以進(jìn)行對(duì)比了)
然后請(qǐng)先保存到桌面,名為 MeteBase.xml
步驟五:
我的電腦 > 控制面板 > 管理工具 > 服務(wù)
找到 IIS Admin Service > 停止
步驟六:
回到找到 MeteBase.xml 的目錄,刪除它
步驟七:
在步驟四的最后,讓大家保存到了桌面,現(xiàn)在我們剪切它。
步驟八:
回到剛才刪除 MeteBase.xml 的地方,把從桌面剪切的粘貼進(jìn)來(lái)
步驟九:
在步驟五中,我們停止了 IIS Admin Service 服務(wù),現(xiàn)在,我們點(diǎn)啟動(dòng)它。(圖與步驟五一樣,所以請(qǐng)以實(shí)際的為準(zhǔn))
步驟十:
回到II6中,對(duì)其進(jìn)行重啟IIS
步驟十一:
進(jìn)入Discuz6.1后臺(tái),關(guān)閉 Gzip 壓縮(重要)
如果不關(guān)閉,壓縮效果將會(huì)降低 0.33% (不關(guān)閉,則就是2個(gè)Gzip壓縮了,而輸出時(shí),將優(yōu)先使用Discuz6.1后臺(tái)的,所以會(huì)下降,一定要關(guān)閉)
步驟十二:
更新Disucz6.1緩存,如圖勾選
到此,就配置完畢了!以上教程可能對(duì)于部分人來(lái)啰嗦,但出于配置考慮,比較詳細(xì)。另外Disucz6.1后臺(tái)的Gzip壓縮相當(dāng)于壓縮等級(jí) 9,這里我們調(diào)整成了10 。就我個(gè)人感覺(jué),Discuz6.1后臺(tái)開(kāi)啟的Gzip壓縮會(huì)有比較明顯的點(diǎn)擊停頓,不過(guò)很可能能是人感覺(jué),有興趣的朋友可以反復(fù)測(cè)試一下!寫(xiě)了3小時(shí)的教程,一些地方如果不足或錯(cuò)誤,請(qǐng)指出,請(qǐng)勿用不文明的語(yǔ)言:)
謹(jǐn)慎開(kāi)啟GZip加速 可能影響百度蜘蛛抓取
GZip是“GNU Zip”的縮寫(xiě),是由Jean-loupGailly開(kāi)發(fā)的壓縮方式。“GZip加速”就是在頁(yè)面由服務(wù)器傳送向客戶端之前先用GZip壓縮,然后到客戶端再進(jìn)行解壓操作,由于傳輸數(shù)據(jù)量大大減小,下載速度當(dāng)然有所提高。不過(guò)目前寬帶已經(jīng)普及,這種技術(shù)并不會(huì)帶來(lái)明顯的速度提升。
由于該項(xiàng)功能需要在客戶端進(jìn)行解壓縮,所以就需要搜索引擎蜘蛛可以正確的解壓縮才能分析網(wǎng)頁(yè)中的內(nèi)容,如果解壓縮失敗,那就會(huì)導(dǎo)致搜索引擎蜘蛛抓取失敗,對(duì)此GZip的問(wèn)題我進(jìn)行了一次試驗(yàn)。
這次我的試驗(yàn)用了6個(gè)網(wǎng)站,網(wǎng)站都是保持每日更新,雖然不是原創(chuàng),但是都是人工選擇性復(fù)制,并且進(jìn)行標(biāo)題修改。其中有3個(gè)是我自己的,都放在了門(mén)戶通的服務(wù)器上(開(kāi)啟了GZip),一個(gè)是客戶的,放在他自己的服務(wù)器中(開(kāi)啟了GZip),還有兩個(gè)也是客戶的,放在購(gòu)買(mǎi)的虛擬主機(jī)中(沒(méi)開(kāi)啟GZip),經(jīng)過(guò)兩個(gè)多月的收錄分析,開(kāi)始收錄都正常,每周都保持增長(zhǎng),但在上周三大更新,開(kāi)啟了GZip的4個(gè)站點(diǎn),百度收錄都降低了60%左右,沒(méi)開(kāi)啟GZip的兩個(gè)站點(diǎn)收錄大幅增長(zhǎng),這個(gè)周三大更新,開(kāi)啟了GZip的4個(gè)站點(diǎn),其中一個(gè)收錄只剩下了主頁(yè),其余三個(gè)收錄減少大約30頁(yè)左右,沒(méi)有開(kāi)啟GZip的兩個(gè)站點(diǎn)收錄依舊大幅增長(zhǎng);這6個(gè)站點(diǎn)谷歌收錄都非常正常,沒(méi)有出現(xiàn)任何大波動(dòng),都平穩(wěn)的提高收錄。
基于此次試驗(yàn),初步的驗(yàn)證結(jié)果是谷歌可以完美的支持GZip壓縮,百度支持的并不太好,我估計(jì)可能是因?yàn)橛械姆?wù)器壓縮率過(guò)大可能導(dǎo)致蜘蛛的識(shí)別失敗,所以導(dǎo)致了服務(wù)器日志中大量的出現(xiàn)200 0 64記錄,以前我們對(duì)于200 064問(wèn)題討論過(guò)很久,都沒(méi)有一個(gè)最終的結(jié)論,現(xiàn)在看來(lái)因?yàn)镚zip引起的可能性很大。
目前我已經(jīng)將放在門(mén)戶通的網(wǎng)站轉(zhuǎn)移到了沒(méi)有開(kāi)啟GZip的服務(wù)器中,我會(huì)持續(xù)保持觀察,看看轉(zhuǎn)以后的收錄情況是否會(huì)有好轉(zhuǎn)。
監(jiān)測(cè)下服務(wù)器是否開(kāi)啟了GZip的方法是隨便選擇該服務(wù)器中的一個(gè)網(wǎng)站用“GZip檢測(cè)工具”檢查下即可知道結(jié)果。如果你的站也出現(xiàn)了收錄大幅下滑的癥狀,建議你去檢測(cè)下,看看是不是也開(kāi)啟了GZip壓縮功能。
相關(guān)文章
阿里云完美教程 Window2003 iis+mysql+php+zend環(huán)境配置
這篇文章是aliyun發(fā)布的win2003完美教程 Window2003 iis+mysql+php+zend環(huán)境配置,需要的朋友可以參考下2014-01-01Windows server 2008 iis7/iis7.5啟用父路徑的方法
這篇文章主要介紹了Windows server 2008 iis7/iis7.5啟用父路徑的方法,需要的朋友可以參考下2015-08-08IIS環(huán)境下PHP rewrite重寫(xiě)設(shè)置(支持中文參數(shù))
這篇文章主要介紹了IIS環(huán)境下PHP重寫(xiě)設(shè)置 支持中文參數(shù),需要的朋友可以參考下2014-06-06IIS7.5 偽靜態(tài) 腳本映射 配置方法(圖文詳解)
這篇文章主要介紹了IIS7.5 偽靜態(tài) 腳本映射 配置方法,需要的朋友可以參考下2015-09-09