[200 OK]: A Port80 Software Blog

We're all 200 OK: Web, HTTP and IIS Insights
posts - 203, comments - 424, trackbacks - 100

IIS 6 Compression and Dynamic Files (plus ZipEnable)

We had a question today from a customer that may be of interest to other folks:

We have asp.net applications that render lots of dynamic data to grids from our SQL database. Will users see an improvement in speed beyond the compression that IIS6 has built-in if we apply ZipEnable to our server? I am concerned that an additional compression tool would actually add to the overhead on this server too. What can you tell me about the processing overhead of compressing dynamic pages?

ZipEnable provides several benefits over the native IIS 6 compression (on Windows Server 2003, SBS, Sharepoint, etc.) and does not diminish compression performance on the Web server at all.  Native IIS 6 compression has one key advantage at the outset: it is integrated into the core Web server code, so it is more performant that ISAPI-based solutions (like our httpZip) in theory and in most real-world cases.  With ZipEnable added to the mix, you have a management interface to maximize compression returns by exposing all IIS metabase options in a GUI –- tuning to your app is vital for compression performance, based on whether you want speed, bandwidth savings, or a mix of both...  ZipEnable also provides crucial browser compatibility checking, so you can make sure to avoid known client side decompression bugs before they cause users trouble.

There will be a penalty CPU-wise for HTTP compression with any solution, and this is minimized on static files in IIS 6 native compression with a compression cache.  For dynamic files, you will pay this penalty each time as IIS 6 native does not provide a dynamic compression cache.  For many sites/apps, this is just fine, as the benefit of speed on dial-up (50% of the Net, varies by region) and any bandwidth-constrained or congested broadband networks outweighs the CPU hit for compression.  

At a Microsoft TechEd training session this year in Orlando that Port80 worked, lab attendees found that adjusting compression over all against the deflate or gzip scheme to the 3-4 compression level should give you the best trade-off between CPU and speed for ASP.NET files (your individual mileage will vary with your app, but it is a good benchmark). 

For a dynamic compression cache and also 100% control of compression level for every file type – and for some other benefits – many ZipEnable users have been upgrading to httpZip:

http://www.port80software.com/products/httpzip/faq#HZonIIS6

If you don’t need or care about these compression features, ZipEnable is the best way to safely use IIS 6 compression for your static and dynamic files (browser compatibility is the safety part). 

If you don’t use httpZip or ZipEnable, at least make sure to turn compression on when you upgrade to IIS 6 – otherwise, you are wasting money on bandwidth and could be really missing out on the benefit that speed brings to your Web browsing users.

With over-strained networks, dial-up users (and they will be for a while), frame relay connections still out there, ISPs slowing down competitor’s traffic (Google is concerned about this), and Web sites increasingly becoming Web apps/software (and increasingly requiring larger files), HTTP compression matters.

Enjoy your weekend, and thanks for reading,
Port80

posted on Friday, October 07, 2005 2:19 PM

Feedback

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

Can I compress asmx's ?
10/7/2005 5:32 PM | Darcy Vaughan

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

Yes, you can -- httpZip supports .asmx compression by default (adjust level in Advanced > Compression Levels).

With ZipEnable, add the file extension to the dynamic compression list of compression candidates... (or you can add it manually via the metabase, but who wants to mess with that more than you have to?)
10/10/2005 11:53 AM | Chris @ Port80

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

Can you compress CFM?
10/26/2005 6:16 PM | Jim

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

CFM, ASP, ASP.NET, PHP, JSP, you name it on the dynamic side of things...
10/27/2005 10:09 AM | Chris @ Port80

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

exelent!!
10/28/2005 12:03 PM | ion proto

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

after uninstall zipenable and resinstall again
cfm cant be compressed,but static file still could be compressed ?
12/30/2005 8:03 AM | angus

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

Angus could you please fill out a support request here: www.port80software.com/support/supportrequest

Thank you
12/30/2005 9:57 AM | Mike @ Port80

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

Yes, we have confirmed an issue with IIS 6 native compression and ColdFusion 5 -- it is not an issue with ZipEnable, but something Microsoft will have to fix...

For now, try our httpZip for advanced IIS compression, which does support ColdFusion on IIS 6:

http://www.httpzip.com

Happy new year,
Port80
1/3/2006 10:31 AM | Chris @ Port80

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)


At my first time to try zipenable on IIS6 with Coldfusion 5, it works fine
But,after uninstall zipenable and resinstall again , compress doesnt work with CF5..
And then , i reinstall windows2003, and install zipEnzble
cfm cant't be compressed anymore............

Does httpzip support Coldfusion 5 on II6 ?
Could you give me some information about issue of IIS 6 native compression and ColdFusion 5 ?

Thank for your reply
1/5/2006 9:47 AM | angus

# re: IIS 6 Compression and Dynamic Files (plus ZipEnable)

This is bleeding edge/new stuff, but you are right, Angus: we don't see ColfdFusion 5 working at all with the native, built-in compression anymore... It is not ZipEnable's fault, but something new in IIS 6... We will alert Microsoft after more research.

At this point, we don't have any good explanation for why it's happening. The same machine on which CF 5 was not being compressed compresses ASP and statics just fine in Port80 Labs. .cfm was definitely present in the extension list (verified this myself). And there seems to be no problem at all with CFMX (CF 6). It's a mystery at this point...

Are you running NIS on the client browsing the compressed site? See http://www.port80software.com/200ok/archive/2006/01/04/901.aspx.

ON A HAPPIER NOTE, httpZip via ISAPI compression is working just fine with both ColdFusion 5 and MX on IIS 6, so try that, Angus. That's why we call it "advanced IIS compression"!
1/5/2006 10:20 AM | Chris @ Port80

Post Comment

Title:  
Name:  
Url:  
Comment:  
Verify:
(Enter the word as it appears in the box above.)