IIS的最佳GZIP压缩设置是什么?

3
您可以在任何地方设置HcDynamicCompressionLevel,范围为0-10。我听说10不好(CPU使用率高),但是什么是最好的魔数呢?

没有“10”的设置; “9”是最高的。 - Kevin P. Rice
5个回答

3

动态压缩的设置为5至9会导致CPU负载过高。而静态压缩只会发生一次(直到文件被重新缓存),因此你可以将静态压缩设置得更高。

这篇深入的文章推荐将动态压缩设置为4,将静态压缩设置为7至9。该文章通过提供信息支持这一建议,让你自己来决定。

http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx

小型的动态页面可以从更高的动态压缩设置中获益,因为随着文件变大,CPU负载也会增加。当页面大小约为200KB时,你需要考虑将动态设置降低。另外,请注意,较高的动态压缩设置会增加每个页面请求获取第一个字节的时间。这些因素支持使用更为克制的设置4进行动态压缩。

再次强调,对于静态资源,可以使用较高的设置,因为只有第一次请求会影响CPU负载和客户端等待时间。然而,如果你提供许多大型静态资源,那么静态压缩的效果可能不太好,因为你的缓存将填满并开始淘汰资源;因此,压缩后的资源无法从缓存中重复获取。

注意:没有“10”的设置。

还有两件事需要考虑:

你的.config文件中的httpCompression元素具有在CPU负载过高时禁用压缩的设置:

dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"

staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80"
EnableCpuUsage设置在CPU负载降至指定值以下时重新启用压缩。
另一个设置可以禁用小文件的压缩:
minFileSizeForComp="2700"

IIS 7.5提高了压缩的最小文件大小,默认值从IIS 7.0的256字节增加到2700字节,这是因为发现有些压缩文件比原始文件还要大。我不知道2700字节是否最好,但由于IP数据包可以合理地达到1400字节左右,所以这个设置将防止压缩小于两个数据包的文件。在挑战微软提高此设置的决定之前,我想进行真正的测试或阅读专家的建议。


1

在 CPU 速度比现在慢两个数量级的时候,10 是不好的选择。gzip 算法在当前的压缩算法中非常快,所以我会将它设置为 10,看看会发生什么。


没有"10"的设定;"9"是最高的。 - Kevin P. Rice
4
我会把它调到11级。 - Uriah Blatherwick

0

我认为这取决于你的具体情况。如果你需要传输大量大文件并且有一些CPU处理能力,那么较高的数字会更好。然而,如果你有更多并发连接、小文件和不太强大的CPU,则较小的数字更好。


0
我发现将其设置为8会在不过度负担服务器的情况下提供相当不错的压缩率。这将取决于您的服务器负载和规格。

0
在我所在的公司中,我们开启了 ASPX 的动态压缩功能,但是动态生成的 JavaScript/CSS 和页面下载速度似乎变慢了。我们已经尝试将压缩级别设置为 1,最大 CPU 利用率设置为 90%,但仍然比没有压缩更差。我的...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接