If you are not using web server compression, you are needlessly paying for bandwidth.  Or using bandwidth that could be used for something else.  I've seen savings on the order of 50% to 90%.  There is ZERO reasons not to use it.

For some strange reason, enabling compression in IIS 6.0 is far too difficult.  It was damn near impossible in IIS 5.0, so I thought they'd make it really easy in 6.0.  So I made a batch file to make it stupid simple.

Create a batch file, then copy and paste lines below into it.

IISreset.exe /stop 
 
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true 
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "xslt" "doc" "xsl" "htc" "js" "css" 
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "xslt" "doc" "xsl" "htc" "js" "css" 
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx" "ashx" 
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx" 
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDynamicCompressionLevel "9"
cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDynamicCompressionLevel "9" 
 
IISreset.exe /restart
 

Copy the batch file to c:\inetpub\AdminScripts, then run it.  That's all.  The batch file does all the necessary restarting of the server. 

Note that it I used the CompressionLevel of 9.  Acceptable ranges are from 0 to 10 and the the default level is 0.  However, I've found that level of 9 does not increase the load on the server to the degree that I would notice. 

Oddly enough, .NET Web Services won't use the IIS compression right out of the box.  An additional step is required.  Simply set the EnableDecompression property of the web service proxy class to true and the setup just works.

MathSvc.EnableDecompression = true;  // c# code