4

我有一个 MVC 4 (Razor) 网站,并且为会话和 outputCache 提供程序启用了 Azure 缓存(预览版)(共存)。由于我启用了它,每个 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>
4

1 回答 1

4

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

这是CodePlex 上的问题。

于 2012-11-14T22:59:15.463 回答