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