【发布时间】:2016-04-04 14:50:18
【问题描述】:
内核模式缓存和用户模式缓存有什么区别以及如何跟踪两者?
【问题讨论】:
标签: asp.net caching iis-8 http.sys
内核模式缓存和用户模式缓存有什么区别以及如何跟踪两者?
【问题讨论】:
标签: asp.net caching iis-8 http.sys
内核模式缓存本质上将在操作系统级别处理缓存请求,因此可以访问存储在其中的内容,而无需通过其他常用管道(即,它不必下到用于检查内容的 ASP.NET 或 IIS 级缓存):
因此,请求会到达初始缓存 (http.sys),找到它需要的内容并将其发回,所有这些都无需继续沿管道进行。
因此,它通常很快。但是它的一个限制是它不支持许多用户级功能,例如身份验证和授权,因此它可能不适合所有场景。
另一方面,用户模式将填补无法使用内核模式的空白,它主要围绕授权/认证内容(因为它需要检查用户是否可以实际访问内容),但是有many other scenarios 可能会导致http.sys 缓存无法使用。
关于实际检查内容是否被缓存(以及可能的原因),您可以使用 FREB(失败的请求事件缓冲)。以下命令可用于找出内核模式下缓存了哪些内容:
netsh http show cachestate
【讨论】: