IIS 10動態與靜態網頁壓縮設定

來到了IIS 10,有關於壓縮的設定應該大家都很熟了,但是,今天在移機到Windows Server 2016的時候發現,同樣的一個ASPX頁面,竟然在Windows Server 2008R2的壓縮率竟然高出許多,經過長時間的抽絲剝繭後發現,竟然是IIS設定檔的預設值在搞鬼,心底差點爆出粗口。

IIS 10動態與靜態網頁壓縮設定

我這個人向來都是走Machine.Config的,所以Web.Config那邊的壓縮設定請自己使用繼承的觀念繼承就對了。如果基本的「壓縮」頁籤下的「啟用動態內容壓縮」、「啟用靜態內容壓縮」那邊的設定沒有設定的話,請自己移駕去那邊改一下吧。

Step 1. 點選IIS機器>設定編輯器>挑選到System.webServer區段>httpCompression。

Step 2. 點選集合(Count=1)>「三點子項次」,進入屬性設定。

Step 3. 看到這些屬性的項次,就是吐血的地方了,IIS 10預設竟然把「dynamicCompressionLevel」設定成0,WTF!難怪動態網頁就算勾選了壓縮依然不會自動壓縮。趕快趁機會把動態與靜態壓縮率都改到「8」。

Step 4. 回到主要設定頁面,順手把「dynamicCompressionEnableCpuUsage」跟「staticCompressionEnableCpuUsage」都改成「89」,也就是CPU低於90%以下的使用率,一律啟用壓縮功能。(※請注意,IIS每間隔30秒才去尋訪一次CPU的使用率,所以這裡視你的硬體情況而定,像我這樣的設定值對你來說,有可能是走在鋼索上喔!)

話說回來,Dynamic Compression Level預設值為零(Zero)到底是哪招?

備註:如果想要進去檔案中手動編輯,您可以到「%systemroot%\System32\inetsrv\config\applicationHost.config」這裡直接編輯。

Microsoft IIS10 StaticFile DynamicFile Compression