I've recently configured a lot of Windows 2003 servers to run our e-commerce system and remembered that both the built-in configuration of IIS6 and the IIS6 GUI aren't friendly for a proper gzip/deflate compression of our modern file extensions. That's why I'm writing this tutorial which will make your box compress css, js, json, xml and aspx files the way you probably want it. This will also helpeful if a new type of file happen to appear in the future.

Changing the W2K3 interface for best performance

This guide gives a very straight forward step-by-step approach for W2K3 servers running with Classic Start Menu interface. Because I consider that "My Computer" icon incredible useful in a lot of single machine managing scenarios. To enable it, just right-click the Taskbar, click Properties, click Start Menu tab, select Classic Start menu radio button and click OK.

Set up the IIS Compress Service

  • Starting from a clean Desktop (WIN+D), right-click My Computer, click Manage
  • Expand Services and Applications, expand Internet Information Services (IIS) Manager, right-click Web Sites, click Properties
  • Click Service tab, select both Compress application files and Compress static files, select Limited to (in megabytes), set it's input text to 1024 and click OK.

Set up the metabase.xml

  • Open an console (WIN+R, type cmd and click OK)
  • Execute in the console the commands below:
iisreset /stop
notepad c:\windows\system32\inetsrv\metabase.xml
  • Search for "IIsCompression"
  • Set both deflate and gzip sections with the following properties:
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
xml
xslt
js
json
css
txt"

HcScriptFileExtensions="asp
aspx
dll
exe"
  • Execute in the console the commands below:
iisreset /start

That's it, your server should be compressing the files now! Enjoy the performance!