【发布时间】:2016-09-19 06:58:49
【问题描述】:
有时我的 MVC 4 应用程序启动非常缓慢,但所有以下请求都很快出现。它在 IIS 8 上运行,并使用表单身份验证。 第一次启动可能需要 20 秒左右。我不能 100% 确定再次缓慢启动需要多长时间,但我想应该超过一个小时。
与此处描述的问题相同: MVC slow if site has been idle
所以检查了应用程序池回收的东西,我停止了应用程序池,再次启动它,然后浏览到地址,但它仍然很快出现。然后我在 IIS 上运行 Powershell 命令 (Get-Process -Id ).StartTime,它告诉我这个应用程序池的最后一次回收是在我启动它的时候。 我想这不包括池回收?
该项目使用的是 Devexpress MVC 布局,我已经删除了所有我不需要的程序集/引用,但之后我并没有发现太大的不同。
此 IIS 上的其他应用程序是使用 Web 表单制作的,而且它们总是很快出现。其他应用程序也没有 Forms 身份验证。
作为一种解决方法,我将提供每 30 分钟左右打开一次地址的服务,但仍然有兴趣找出真正的原因。
有什么想法吗?
【问题讨论】:
-
我怀疑这是非常本地化的代码和开发 PC 设置。如果这可以在 SO 上解决,我们可能需要更多的上下文。
-
这个问题可能是由任何因素引起的,可能是缓存静态数据解决了问题或需要代码重构
-
在 IIS 中会话状态设置为 InProc?,是否有任何活动目录连接(LDAP)?
-
@Henry24 我的 webconfig 中有 sessionState mode="InProc" 并且没有 ldap 连接。
-
在应用程序池上检查你的空闲超时,默认为 20 分钟,你可以尝试 0 看看是否有帮助,或者你可能在应用程序中出现内存泄漏
标签: c# asp.net-mvc asp.net-mvc-4 iis-8 devexpress-mvc