After performing a number of configuration changes on my server to improve performance, I decided that I wanted to work on performance tuning of my IIS6 install since I host all of my own web sites.

One way of doing this is to enable compression, either globally, or per site. By doing this, content can be compressed by the IIS6 server before being sent, giving savings on bandwidth.

This does rely on support by the web browser being used, but since most do support compression nowadays, it’s well worth doing.

Since I don’t run many sites, I decided to enable compression globally. If you want to do it per site, then look here: Enabling HTTP Compression (IIS6).

So, my first stop was to create a new directory for the compressed files on my D: drive, since I also wanted to move the folder to a new location at the same time. TheĀ  default is at ‘C:\WINDOWS\IIS Temporary Compressed Files’, however I didn’t want the folder to be slap bang in the middle of my Windows directory. If you’re creating a new folder for the first time, then make sure the the IIS_WPG user has full control to the folder, and, if you have an identity for your app pool(s), then they will also need full control.

I then opened up IIS Manager, found the folder marked ‘Web Sites’, that contains all my sites, and right clicked on it. I then selected ‘Properties’, and once the dialog box had opened up, located and selected the ‘Service’ tab.

I then checked the boxes ‘Compress Application Files’ (Dynamic compression), and the box marked ‘Compress Static files’.

I also checked the box to restrict the directory size, and chose to restrict it to 100Mb, after which it will clean out the oldest files.

I clicked ‘Apply’, then ‘Ok’, and that was it, compression enabled!