I've been working for some time at a super lean IIS 7.5 configuration for a static file serving purposes web site. To achieve this, I've simply stripped the designated web site for all dynamic modules, and only specified native modules such as the StaticFileModule
, AnonymousAuthenticationModule
, HttpCompressionModule
etc.
This has already proved to cause a significant decline in the memory footprint and processing overhead for the worker process, and the overall performance is much better than the default web site.
Now, as a next step, I would like to see if I can trim down the number of modules loaded into memory even further.
I could just remove the modules one-by-one and try to see how it affects performance and functionality, but I would rather investigate what the functionality the individual modules actually has/governs.
Some of the modules are pretty self-explanatory (ie. DefaultDocumentModule
, DirectoryListingModule
), but some are not.
Is there anywhere I can find the documentation for the builtin native modules?
Mathias,
You can find a list of both native and managed modules that are built into IIS here (Module Reference section). This documentation will only give you descriptions for the native, or utility, modules.
Since this is a minimal installation of IIS I am assuming you are not installing .NET integration. If this assumption is correct, then the above link should be all you need as there will be no managed modules to worry about.
When using the GUI to install IIS, and just selecting the 'Static Content' module, you get the following modules:
You can cut these down to just two:
but I think the cache modules make sense. Then if you miss any features you can add them later.
The DefaultAppPool is set to use .NET Framework
'v2.0'
even though there is no support for this. Change it to'No Managed Code'
.If you only serve GIFs, PNGs and JPGs also remove all other MIME types.