【发布时间】:2008-11-12 00:46:17
【问题描述】:
您可以将 HcDynamicCompressionLevel 设置为 0-10 之间的任意值。我听说 10 不好(CPU 使用率高),但最有效的幻数是多少?
【问题讨论】:
-
没有设置“10”; “9”是最高的。
标签: iis compression gzip
您可以将 HcDynamicCompressionLevel 设置为 0-10 之间的任意值。我听说 10 不好(CPU 使用率高),但最有效的幻数是多少?
【问题讨论】:
标签: iis compression gzip
动态压缩设置为 5 到 9DO 实际上会影响 CPU 负载。静态压缩只发生一次(直到文件被重新缓存),您可以将静态压缩设置为高。
这篇深入的文章推荐 4 用于动态压缩,7 到 9 用于静态压缩。该文章使用您可以阅读和自行决定的信息来支持此建议。
http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx
较小的动态页面可以受益于较高的动态压缩设置,因为较大的文件会增加 CPU 负载。在大小约为 200 KB 时,您将需要考虑较低的页面动态设置。另外,请注意,高动态压缩设置会增加从每个页面请求中获取第一个字节的时间。这些因素支持使用更受限制的设置 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 字节提高到默认值 2,700 字节。我不知道 2,700 字节是否最好,但由于 IP 数据包可以合理地约为 1,400 字节,因此此设置将阻止压缩文件少于两个数据包。在任意质疑 Microsoft 提高此设置的决定之前,我希望进行实际测试或阅读专家的建议。
【讨论】:
当 CPU 比现在慢两个数量级时,10 很糟糕。就目前的压缩算法而言,gzip 算法非常快,所以我将其设置为 10,看看会发生什么。
【讨论】:
我发现将其设置为 8 可以提供相当不错的压缩率,而不会过多地敲击服务器。这将取决于您的服务器负载和规格。
【讨论】:
在我看来,这实际上取决于您的情况。如果您要处理大量大文件并且有一些 CPU 资源可用,那么更大的数量会更好。但是,由于您有更多的并发连接、更小的文件和不太强大的 CPU,因此数量越少越好。
【讨论】:
在我工作的公司中,启用了 ASPX 的动态压缩和动态生成的 javascript/css,页面似乎需要更长的时间来下载。我们尝试将压缩级别设置为 1 和最大值。 cpu 90% 但在没有压缩的情况下仍然最糟糕。是我的
【讨论】: