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级时问题仍然存在
请仔细检查您是否安装了动态压缩
接下来,您可能会考虑覆盖一些设置为 90% 的压缩默认值 ,并且在您低于默认值 50%dynamicCompressionDisableCpuUsage之前,压缩不会再次启动。dynamicCompressionEnableCpuUsage我建议提高后者。
对于此类问题,SO 上的几个 地方还建议进行失败的请求跟踪,这可能会帮助您发现问题。
以下问题有一些详细的解答
更新:
该设置可能在应用程序级别被锁定,因此您应该尝试运行以下命令:
appcmd set config -section:urlCompression /doDynamicCompression:true
Run Code Online (Sandbox Code Playgroud)
如果这仍然是一个问题,那么可能值得进行调整,minFileSizeForComp其默认值随着更高版本的 IIS 版本的增加而增加。
根据评论,当你试图解决这个问题时,也尝试只做动态开始并停止静态。