After enabling output caching (kernel-mode and user-mode) in IIS, you may want to make sure it works as expected. Here are what you can do to confirm the caching status in the server:
Kernel-mode cache
- If the command netsh http show cachestate returns “There were no cache entries corresponding to the provided URL”, it means there is no data in the kernel-mode cache
- This can be confirmed by checking “Kernel: Current URIs Cached” performance counter as well. If it shows 0, it means the kernel-mode cache is empty
- Failed Request Tracing (FREB) logs show if kernel-mode caching was used for a request (HTTPSYS_CACHEABLE event)
Note: Even if you enable kernel-mode cache, you may see that there is no cache stored. There are certain situations in which the kernel-mode caching cannot be used (Reference)
User-mode cache
- There is no equivalent of netsh http show cachestate command to check user-mode cache
- However, the performance counter “Current URIs Cached” shows how many URIs are cached in the user-mode
- Resetting IIS or recycling application pool clears the user-mode cache

A few useful pages to learn more about caching: