Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it worth it to enable dynamic compression in IIS7?

I am trying to find all possible ways I could improve my website performance. I was considering enabling dynamic compression at the server level but was concerned by performance hits (no caching of compressed pages - corruption of files - overhead on the server). Should I just give up on the dynamic compression with IIS 7? are there modules out there that do a better job than the built-in compression module?

like image 720
ak3nat0n Avatar asked May 06 '09 18:05

ak3nat0n


2 Answers

You should almost always enable dynamic compression (static is on by default). Dynamic compression == undue processing stress is a pernicious myth. Here's MSDN:

Despite a common myth, dynamic compression usually does not have a prohibitive CPU overhead. In fact, dynamic compression often causes less than 5 percent of the total CPU utilization on a busy server. Dynamic compression can be deployed somewhat liberally to allow for maximum bandwidth savings for any application workloads.

Also, you can specify a CPU throttle for compression in IIS7.

like image 69
Justin R. Avatar answered Nov 15 '22 22:11

Justin R.


You should absolutely enable dynamic compression. See this article on the top 10 Performance improvements in IIS 7.

Quoting from the article:

Bandwidth Reduction from Compression

It comes as no surprise that bandwidth costs are one of the top costs of running an Internet-facing datacenter. In addition, the bandwidth required to deliver requested content is a key factor in the perceived responsiveness of your application.

One of the most effective ways to reduce the bandwidth needed to deliver the application responses is to use HTTP compression. This can reduce the size of the response by a substantial amount, often by a factor of 10 when applied to easily compressible text content such as HTML. The best part is that virtually all desktop browsers support it, and decompression costs on desktop hardware are minor compared to the latency savings from sending less data. And since compression is based on Content-Encoding negotiation defined in the HTTP 1.1 protocol, enabling it is safe for clients that do not support compression—these clients simply receive an uncompressed version of the content.

like image 41
JonnyBoats Avatar answered Nov 15 '22 20:11

JonnyBoats