Kernel-mode and user-mode caching

This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.

After enabling output caching (refers to both kernel-mode and user-mode) in IIS, you may want to make sure resources are cached as expected. Here is what you can do to confirm the caching status:

 

Kernel-mode cache

  • Run the command netsh http show cachestate. If it returns “There were no cache entries corresponding to the provided URL”, there is no data in the kernel-mode cache
  • Check “Kernel: Current URIs Cached” performance counter. If it shows 0, the kernel-mode cache is empty
  • Collect Failed Request Tracing (FREB) logs. It shows if kernel-mode caching was used (HTTPSYS_CACHEABLE event)

 

Note: Even if the kernel-mode cache is enabled, resources may not be cached. There are certain scenarios in which the kernel-mode caching cannot be used (Reference)

 

User-mode cache

  • There is no equivalent of netsh http show cachestate command for the user-mode cache
  • However, you can use the performance counter “Current URIs Cached”. It shows how many URIs are cached in the user-mode
  • Note: Recycling application pool or resetting IIS clears the user-mode cache

 

Nedim_0-1627593087500.jpeg

 

A few useful pages to learn more about caching:

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.