Azure缓存(预览)OutputCache - 高CPU - 慢

时间:2012-09-01 18:22:23

标签: azure

我有一个MVC 4(Razor)网站,我为会话和outputCache提供程序启用了Azure Cache(预览)(Co-located)。自从我启用它以来,每个Web请求都会导致大量的CPU峰值,并在调试时产生3-5秒的页面响应时间。

我已将问题缩小到outputCache提供程序。如果我在web.config中禁用它,该网站运行良好。没有CPU峰值。我还没有使用页面输出缓存...所以不应该发生读/写。会话提供程序通过Azure缓存(预览)运行良好。下面是我的outputCache配置。如果我禁用它,该站点运行没有CPU峰值。有什么想法吗?

<caching>
  <outputCache defaultProvider="DistributedCache">
    <providers>
      <add name="DistributedCache" type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" />
    </providers>
  </outputCache>
</caching>

1 个答案:

答案 0 :(得分:4)

问题似乎是由于Web优化框架。它没有为非默认缓存提供程序启用服务器缓存(例如Azure缓存预览)。因此,每次发出请求时,Web服务器都必须重新绑定,这会导致CPU峰值。未来版本的Microsoft.AspNet.Web.Optimization应该再次启用服务器缓存。

这是CodePlex上的issue