设置IIS7 gzip压缩级别

JK.*_*JK. 7 compression iis asp.net-mvc iis-7 gzip

在ASP.NET MVC中,我使用web.config来启用和配置IIS7.5 gzip压缩设置.但是他们压缩级别设置似乎根本没有效果:

<scheme name="gzip" dynamicCompressionLevel="9" staticCompressionLevel="9"/>
Run Code Online (Sandbox Code Playgroud)

对于两个设置,压缩级别= 0,我的主页被压缩到9,290字节(从39,623)

两个设置的压缩级别= 9,我的主页被压缩到9,290字节(从39,623)

(使用fiddler检查压缩/未压缩的尺寸)

压缩量没有差别 - 为什么?这发生在我的本地开发机器上 - Windows 7.我还没有在我们的Win 2008 Web服务器上尝试过它.

web.config中的完全压缩设置:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="10" staticCompressionLevel="10"/>
  <dynamicTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="application/x-javascript" enabled="true"/>
    <add mimeType="application/xml" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="application/x-javascript" enabled="true"/>
    <add mimeType="application/xml" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
Run Code Online (Sandbox Code Playgroud)

编辑:显然最高级别为9.此页面显示它是10但必须不正确http://www.iis.net/configreference/system.webserver/httpcompression/scheme.使用9级时问题仍然存在

dov*_*ove 2

请仔细检查您是否安装了动态压缩

接下来,您可能会考虑覆盖一些设置为 90% 的压缩默认值 ,并且在您低于默认值 50%dynamicCompressionDisableCpuUsage之前,压缩不会再次启动。dynamicCompressionEnableCpuUsage我建议提高后者。

对于此类问题,SO 上的几个 地方还建议进行失败的请求跟踪,这可能会帮助您发现问题。

以下问题有一些详细的解答

如何在 IIS7 中使用 gzip 压缩?

压缩不起作用

更新:

该设置可能在应用程序级别被锁定,因此您应该尝试运行以下命令:

appcmd set config -section:urlCompression /doDynamicCompression:true
Run Code Online (Sandbox Code Playgroud)

如果这仍然是一个问题,那么可能值得进行调整,minFileSizeForComp其默认值随着更高版本的 IIS 版本的增加而增加

根据评论,当你试图解决这个问题时,也尝试只做动态开始并停止静态。