Roger Lipscombe
Roger Lipscombe

Reputation: 91825

IIS static compression: favour minimising bandwidth over latency?

If I configure IIS to use data compression for static files, the first client usually receives uncompressed content, with later clients getting compressed content. Presumably IIS compresses the file in the background and caches it for later requests.

However, I'd prefer the first client to also receive compressed content. That is: I'd prefer to trade latency for bandwidth. Is there any way I can configure IIS to do this?

Upvotes: 1

Views: 112

Answers (1)

Marco Miltenburg
Marco Miltenburg

Reputation: 6138

Well, it actually works a little bit differently. IIS is not compressing the file in the background but it has a threshold to decide whether is should compress the content at all. This prevents it from using CPU resources and cache store for infrequently requested content. By default IIS will only compress content when it receives two requests for that content within 10 seconds.

You can change these defaults by changing the frequentHitThreshold and frequentHitTimePeriod attributes in the <serverRuntime /> element in web.config (see configuraton reference on iis.net). I've not tested it but I expect that just setting frequentHitThreshold to 1 will give you the desired result.

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

Hope this helps.

Upvotes: 1

Related Questions