您可以将 HcDynamicCompressionLevel 设置为 0-10 之间的任何位置。我听说 10 不好(CPU 使用率高),但最有效的幻数是多少?
5 回答
动态压缩DO设置为 5 到 9实际上会影响 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”的设置。
还有两点需要考虑:
文件中的httpCompression
元素.config
具有在 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 字节,因此此设置将阻止压缩文件少于两个数据包。在任意挑战微软提高此设置的决定之前,我想进行真正的测试或阅读专家的建议。
当 CPU 比现在慢两个数量级时,10 很糟糕。就目前的压缩算法而言,gzip 算法非常快,所以我将其设置为 10 看看会发生什么。
在我看来,这真的取决于你的情况。如果您要处理大量大文件并且有一些 CPU 资源可用,那么更大的数量会更好。但是,由于您有更多的并发连接、更小的文件和更不强大的 CPU,因此数量越少越好。
我发现将它设置为 8 可以提供相当不错的压缩率,而不会过多地敲击服务器。这将取决于您的服务器负载和规格。
在我工作的公司中,启用了 ASPX 的动态压缩和动态生成的 javascript/css 和页面似乎需要更长的时间来下载。我们尝试将压缩级别设置为 1 和最大值。cpu 90% 但在没有压缩的情况下仍然最糟糕。是我的