Jquery中文網 www.afdoqc.live
Jquery中文網 >  服務器技術  >  IIS  >  正文 IIS壓縮及性能優化

IIS壓縮及性能優化

發布時間:2014-07-20   編輯:www.afdoqc.live
IIS壓縮及性能優化

對于SharePoint站點而言,IIS壓縮能起到很大的作用。在IIS服務器上啟用IIS壓縮功能之后,在IIS服務器把頁面內容發送給瀏覽器之前,會在服務器上先把內容進行壓縮,然后發送壓縮后的數據,瀏覽器接收到數據后,會自動進行解壓,然后顯示。由于在網絡上傳輸的數據被壓縮了,所以可以將頁面內容更快的傳送到瀏覽器,提高頁面瀏覽速度。

雖然IIS服務器上對頁面內容進行壓縮會耗費一定的CPU時間,但這對于現在主流服務器CPU而言,已經不會造成什么問題。而且這點CPU時間與節省的數據傳輸時間相比,實在是太劃算了。每次壓縮過一個頁面之后,IIS會將壓縮后的文件緩存到磁盤上,這樣可以避免下次再重復壓縮。

在IIS服務器上啟用IIS壓縮雖然可以通過圖形界面的IIS管理器完成,但有些配置僅僅通過IIS管理器是做不了的,所以,我們使用IIS的一個腳本工具來進行所有的管理和配置。下面的指令需要在服務器上的命令提示符中執行。

在IIS服務器上啟用靜態文件(.js、.css、.html之類)壓縮:
cscript C:\Inetpub\adminscripts\adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true
在IIS服務器上啟用動態文件(.asp之類)壓縮:
cscript C:\Inetpub\adminscripts\adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true

在動態文件壓縮中添加“.aspx”文件類型(SharePoint站點所有頁面都是.aspx的),要執行兩條指令:
cscript C:\Inetpub\adminscripts\adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
cscript C:\Inetpub\adminscripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions "asp" "dll" "exe" "aspx"

將默認的壓縮率提高,也是兩條指令:
cscript  C:Inetpubadminscriptsadsutil.vbs SET W3Svc/Filters/Compression/GZIP/HcDynamicCompressionLevel "9"
cscript C:Inetpubadminscriptsadsutil.vbs SET W3Svc/Filters/Compression/DEFLATE/HcDynamicCompressionLevel "9"

啟用IIS壓縮后,到底能為我們節省多少數據傳輸呢?我們可以簡單的測試一下。我們使用Microsoft Fiddle,這個好用且強大的工具。它原理上是一個代理,能讓瀏覽器通過它去獲取HTTP內容,它則自動記錄瀏覽器的訪問歷史數據。Fiddle可以在http://www.fiddlertool.com/fiddler/version.asp下載。

首先,關閉IIS壓縮,清空瀏覽器緩存,然后在IE中訪問MOSS 2007的默認站點首頁,在Fiddle中記錄下的訪問歷史數據如下:
Request Count:     29
Bytes Sent:     11,089
Bytes Received: 676,934
這些信息表示,瀏覽器一共請求了29項資源,服務器一共向瀏覽器發送了676K數據。676K!這僅僅是默認的MOSS 2007站點首頁哦!
然后打開IIS壓縮功能,再清空瀏覽器緩存,再次訪問一下首頁,Fiddle中記錄的信息如下:
Request Count:     29
Bytes Sent:     11,089
Bytes Received: 230,276
可以看到,僅僅通過簡單的啟用IIS壓縮功能,MOSS 2007的默認首頁所請求的數據大小就從676K減少到了230K。

效果測試
開啟壓縮前:
Request Count:  55
Bytes Sent:  30,254
Bytes Received: 550,563

開啟壓縮后:

Request Count:  55
Bytes Sent:  30,003
Bytes Received: 307,545

550K和307K 差別好大。

HTTP 壓縮的好處:

靜態網頁采用HTTP 壓縮,大約可以減少20%的傳輸量。
用戶端使用IE 5.0瀏覽器連線到已經啟用HTTP壓縮IIS 5.0之Web伺服器,才有HTTP壓縮功能。如今,絕大多數的現代瀏覽器支持壓縮技術,但是,具體的壓縮方式取決于瀏覽器。

不過你無需對此擔心,因為只有瀏覽器指示支持一種壓縮方式時,Web服務器才會發送壓縮內容。盡管如此,了解一下這種處理機制和不同瀏覽器支持的壓縮類型也是一件有意義的事。

瀏覽器在要求一個網址時,會把支持的壓縮格式通過Accept-Encoding的HTTP頭提交給服務器,IIS或其它Web服務器則從HTTP_ACCEPT_ENCODING環境變量讀取這個信息,這個過程無需你人為干預,IIS在瀏覽器支持壓縮的情況下會自動對發送的內容進行合適的編碼。
下表列出了常見的瀏覽器和它們支持的編碼類型:
瀏覽器  支持的編碼
Firefox 1.0, Mozilla 1.x, Camino  gzip, deflate
OmniWeb 5.x  bzip2, gzip, deflate
Safari  gzip, deflate
Internet Explorer  gzip, deflate  

您可能感興趣的文章:
IIS壓縮及性能優化
IIS開啟GZIP壓縮和GZIP開啟失敗的解決辦法
IIS開啟Gzip壓縮失敗的原因與解決辦法
iis中啟用頁面HTTP壓縮(頁面Gzip壓縮)
(圖文)IIS6.0壓縮配置
IIS7下開啟Gzip后卻不能壓縮js文件的解決方法
iis中不能開啟Gzip壓縮的問題
在IIS上啟用Gzip壓縮 (HTTP壓縮)
iis中Gzip壓縮無效的解決方案
mod_gzip-apache上的HTTP壓縮優化

關鍵詞: gzip  網頁壓縮   
[關閉]
英格兰足球队