Search code examples
iisiis-8outputcacheperfmon

Output Cache Total Hits not being reflected in IIS performance monitor


We use output caching profiles in Web.Config like so:

    <caching>
        <outputCacheSettings>
            <outputCacheProfiles>
                <clear />
                <add name="CacheHourly" location="Server" duration="3600" varyByParam="*" varyByCustom="IsMobile" />
                <add name="CacheDaily" location="Server" duration="86400" varyByParam="*" varyByCustom="IsMobile" />
            </outputCacheProfiles>
        </outputCacheSettings>
    </caching>

In perfmon, we're seeing 100% misses (no hits) in Output Cache counters. We're basically seeing 0s across the board for Output Cache counters (except misses).

See screenshot below.

Snapshot of performance monitor counters for Output Cache

The kicker is that I'm fairly sure it's enabled. If I add enabled="false" to each output cache profile, and then hit a target page, it will return in 300ms consistently. If I keep them enabled, it will return in 90ms consistently, which isn't super fast, but it's consistently faster than 300ms.

Edit: Am I wrong to think that Output Cache * counters are the correct counters? URI Cache counters seem to have higher hit %, but I thought that was just for IIS URI metadata.


Solution

  • Ah-hah!

    Not to be confused with all the other counters that include Output Cache values, the counter you need to use (in this situation) is the ASP.NET Applications counter.