输出缓存总命中数未在IIS性能监视器中反映出来

时间:2014-09-04 23:57:20

标签: iis iis-8 outputcache perfmon

我们在Web.Config中使用输出缓存配置文件,如下所示:

    <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>

perfmon中,我们在输出缓存计数器中看到100%未命中(无命中)。对于输出缓存计数器(除了未命中),我们基本上都看到了0。

见下面的截图。

Snapshot of performance monitor counters for Output Cache

踢球者是我相当确定它已启用。如果我将enabled="false"添加到每个输出缓存配置文件,然后点击目标页面,它将始终以300毫秒返回。如果我启用它们,它将始终以90ms的速度返回,这不是超快,但它始终快于300ms。

编辑:我认为输出缓存*计数器是正确的计数器是错误的吗? URI缓存计数器似乎具有更高的命中率%,但我认为这仅适用于IIS URI元数据。

2 个答案:

答案 0 :(得分:0)

希望你已经通过这些链接。 https://serverfault.com/questions/448942/why-is-iis-7-5-flushing-file-cache-very-oftenhttp://www.iis.net/configreference/system.webserver/caching

它说,你需要使用<caching enabled="true" enableKernelCache="true">

但它也说,默认情况下这个属性是真的,我会说,试一试!

关于效果计数器,您正在研究正确的指标。 https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/852720c8-7589-49c3-a9d1-73fdfc9126f0.mspx?mfr=true

答案 1 :(得分:0)

阿哈!

不要与包含输出缓存值的所有其他计数器混淆,您需要使用的计数器(在这种情况下)是ASP.NET Applications计数器。