Previously when I used IIS6, I used IIS6 Metabase Explorer to edit Metabase.xml and manually turned on compression, specified the compression level and the file extensions to compress.

IIS7 seems a bit different, there is no Metabase.xml file in the system32\inetsrv folder. Enabling compression is easy to turn on by checking the checkbox in the Compression module. But how do I manually tweak and set the compression levels and file extensions to compress?

I also ran across an article saying that IIS7 also automatically throttles the compression if your CPU load is > 50% then compression is turned off. Where are all these settings located?

@Justin Scott

I see. But with the newly installed IIS7 I don't see any web.config files in WWWROOT. Are these already created and hidden somewhere? Or do I need to create them myself? I would only like to have 1 web.config file to control the entire web server. I don't need finely tuned webapps such as:

webapp1: enablecompression / webapp2: disablecompression

I'm used to the global site change method (IIS6 Metabase.xml) so that if I enablecompression, GLOBALLY all websites have compression enabled. Simply, one web.config to rule them all. But from what you say, it seems like there are many web.config files scattered around? So coming from IIS6 metabase.xml mentality, how do I get back to that mentality with web.config files?

It would have been nice if MS would generate default web.config files with most sections commented out. So I can see what options are available, and whatever I need to tweak I edit the values and just uncomment that section, click apply and restart the web server. It seems kind of confusing now...

2 Answers 2


Similar to IIS 6, IIS 7 has all the features and lot more to enable/disable compress on the Global/Web Site/Virdir/file level. I understand due to the new UI it would be difficult to look for the setting.

If you click on the machine name in IIS Manager, and double click Compression in the Features view. You are enabling compression at the Global level. You will find the entries made in applicationHost.config file under C:\Windows\System32\inetsrv\config.

If you click on the Web Sit (Default Web Site) and double click Compression. Compression is enabled at the APPHOST level and the entry will be made in the web.config file on the root directory (i.e. for Default Web Site since it is pointed to C:\inetpub\wwwroot, the web.config will be created in the wwwroot folder).

If you click on the virdir and enable compression it would be enabled at VIRDIR level and the entry will be made in the root directory of the virdir folder.

If you click on a file in the Content view and click Features view, File level settings are enabled and you can enable compression for the file as well. Yes, the entry will be made in the web.config file of the Web Site or virdir where the file is located.

I believe configuring Compression or for that matter any setting in IIS 7 is far much better as compared to IIS 6. Yes, since the UI is a bit new you may find it difficult for the first few times.


IIS7 uses individual web.config files in the webroot for each site to control the settings on a site-by-site basis (rather than a central metabase file).

TechNet has an article which explains the compression settings and how they're used and how to access them via command line.

MSDN has an article which explains all of the configuration options in the web.config files that apply to compression.

The IIS website also has a plethora of information on the settings and configuration options which can be tweaked.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .