Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have dynamic content that I've configured output caching upon. Based on my tests it doesn't seem like IIS is seeing the content as cache-worthy. How can I monitor what IIS is doing? It appears as though PerfMon has some counters I'm interested in, but I'm not sure which ones to look at. If my content is not querystring or form parameter based, but URI based will my content not be deemed cache-worthy?

share|improve this question
up vote 5 down vote accepted

Take a look at this article:

Some highlights:

  • Things aren't cached right away, they must be configured a few times to be considered cache-worthy. The ServerRuntime config section determines cache-worthiness. (Defaults to 2 requests in 10 seconds to be added to the cache)
  • The Web Service Cache perfmon counters are the relevant counters for output cache
  • If you are using kernel mode caching, netsh http show cachestate will show you what is currently in the cache
  • Failed Request Event Buffering (FREB) can give you details about caching for each request
share|improve this answer
I read the same article, I've watched the counters and they aren't doing anything so my content must not be cache-worthy. I'm running load tests with thousands of requests, any ideas as to why I'm not getting hits? – Adam Fyles Apr 28 '10 at 12:27
@foosnazzy: I think your best bet then would be the FREB logs - it should give you better details about why things are not being cached. – MattB Apr 28 '10 at 12:58
FREB logs are working for me, I can now see what is cached and what is not. – Adam Fyles Apr 29 '10 at 17:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.