我们运行IIS 7.5的Win 2008 R2服务器来提供图片文件。
它只用于静态内容,文件caching已经设置为caching文件10分钟。
但是,IIS经常完全刷新caching(使用Perfmon可见)
这不是应用程序池回收,这不是因为TTL已经过期,所以现在我不知所措:-(
我已经包含了perfmon图的截图,您可以清楚地看到问题。
有什么地方我可以看到为什么它正在做这些冲洗?
(注意:我知道我可以通过在进程中附加一个debugging器来检测它,但这不是一个选项,因为它是一个生产服务器,它不能处理debugging器会导致的减速)

终于find了问题的答案。
我们在我们的网站web.config中有这个(尽pipe没有在网站上运行任何托pipe代码)
<caching enableKernelCache="true">
将此更改为false后 ,IIS停止执行这些完全冲洗。 它仍然会刷新一些文件,但它不再是一个完整的刷新(大约50K文件保留在caching中)
我们的文件caching命中率已经从5%上升到33%,所以这肯定有很大的帮助。
不知道为什么内核caching导致这种行为,但我可以忍受在用户模式caching的轻微开销。
以为我会添加这个答案来帮助其他类似问题的人。
访问图像的唯一url的频率有多高? 如果默认情况下URL未被抓取120秒,则刷新它们。
请参阅http://support.microsoft.com/kb/820129中的 UriScavengerPeriodregistry项。
确定caching清除器的频率。 在等于UriScavengerPeriod的秒数内没有被访问的任何响应或片段被刷新。