1

如果我将 IIS 配置为对静态文件使用数据压缩,第一个客户端通常会收到未压缩的内容,而后面的客户端会收到压缩的内容。推测 IIS 在后台压缩文件并将其缓存以供以后请求。

但是,我希望第一个客户端也接收压缩内容。那就是:我更愿意用延迟换取带宽。有什么方法可以配置 IIS 来做到这一点?

4

1 回答 1

1

嗯,它实际上工作方式有点不同。IIS 不会在后台压缩文件,但它有一个阈值来决定是否应该压缩内容。这可以防止它使用 CPU 资源和缓存存储来处理不常请求的内容。默认情况下,IIS 仅在 10 秒内收到两个对该内容的请求时才会压缩内容。

您可以通过更改web.config 中元素中的frequentHitThresholdfrequentHitTimePeriod属性来更改这些默认值(请参阅iis.net 上的配置参考)。我尚未对其进行测试,但我希望仅设置为即可为您提供所需的结果。<serverRuntime />frequentHitThreshold1

<configuration>
  <system.webServer>
    <serverRuntime frequentHitThreshold="1" />
  </system.webServer>
</configuration>

希望这可以帮助。

于 2013-04-07T07:26:49.103 回答