IIS 6 Caching (Kernel and User Modes)
We were working on a way to verify and tweak IIS 6’s static content caching functionality. Best way we can figure is to put some large images on a page and use NTFileMon (SysInternals), NetMon and Perfmon to monitor everything. We were disappointed to see IIS 6 not caching our static content.
After more reasearch, it turns out IIS 6 does not cache anything anything over something like 16K. We were testing 1MB files. That was why we did not observe the cache working. You can configure this along with other caching parameters with registry keys. Also, with the whole http.sys in the kernel while IIS is in user mode, you need to have an understanding who is doing the caching. It turns out in our tests, we needed to adjust user mode caching. I’ll provide more details later.
Tweaking HTTP.sys (kernel mode)
http://support.microsoft.com/?id=820129
Performance Tuning Guidelines for Windows Server 2003
(includes a very good section on IIS tweaking including kernel mode and user mode tweaks – not just caching stuff either)
http://www.microsoft.com/windowsserver2003/evaluation/performance/tuning.mspx