我有一个MVC 4(Razor)网站,并且为会话和outputCache提供程序启用了Azure缓存(预览)(共同定位)。由于我启用了它,每个Web请求都会导致大量的CPU峰值,并在调试时导致3-5秒的页面响应时间。Azure缓存(预览)OutputCache - 高CPU - 缓慢
我将问题缩小到了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>
我也在评估Azure缓存,即使我只考虑了专用角色选项。 当您在调试它时,我假设您在开发结构上本地运行解决方案,对吗?您是否在这些实例之间运行多个web角色的instaces并配置了高可用性(Backup Copies = 1)? – DavideB
你是否在使用缓存来做其他事情?我很想看到Web.Config文件中的'dataCacheClients'配置以及WebRole属性页面的“缓存”选项卡上的缓存设置。 –
我已经格式化了我的机器,安装了VS 2012并重新安装了Azure SDK,重新下载了我的NuGet包,问题依然存在。任何时候,我都会为每个Web请求打开outputCache提供程序的大量CPU峰值。 –