解释真正的问题并不容易,但我尝试;-)。
这里有一些数据:
- 带有 IIS7(不是 RC2)的 Microsoft 服务器
- 3GB 内存
- 此服务器上只有此应用程序
- SQL 2008 速成版
- 存储库模式
- 简单注射器
- MVC站点地图提供者
好的,现在解决问题。这不是启动,因为该站点在 2 秒内加载。应用程序池回收后。启动后,页面在 200 毫秒或更短(或更长)内加载,但有时(我不能说何时,因为它是随机的,而不是在回收之后)它们需要长达 2 分钟或更长时间。
我试图瞥见问题。它显示如下:
- ASP.NET 开始请求:121456ms(这是随机的)
- 过滤器:2ms
- 控制器:26ms
- 观看次数:298 毫秒
- ASP.NET 结束请求:0ms
这就像一个请求堆叠,我不知道。
编辑:
所以我已经删除了整个 MVC SiteMap Provider,但幻影性能问题仍然存在。
然后我检查了 IIS 配置并注意到 AppPool 是一个 NetworkService 而不是 ApplicationPoolIdentity(其他 MVC 解决方案在 ApplicationPoolIdentity 上运行),现在它似乎比以前更快(页面加载 < 50 毫秒)!如果问题仍然存在,我会写在这个线程中。