我的VPS上有几个MVC4站点。他们都有同样的问题。它们太慢了(加载时间长达 10 秒,这不是一个好的第一印象)。
我知道,当您第一次加载您的网站时,由于我阅读过的各种内容,这将需要一段时间。我明白这一点。
问题是以下情况是真的。
将 MVC4 站点发布到服务器。
在浏览器中加载 MVC4 站点 PC 。网站需要一段时间才能加载,但预计如此。
查看网站上的其他页面。有些很慢,但通常一切都很好。
关闭网站。
重新打开网站。
所有页面响应良好。
关闭网站。
让它闲置 1 小时。
打开网站,又慢了,好像只是发布过
我只能假设这与会话,IIS或应用程序池有关
在我曾经有跟踪的网络表单中,我在 MVC 中似乎没有跟踪,我不知道如何调试这样的问题。
这实际上是预期的行为,因为在一段时间不活动后,应用程序池将回收以释放未使用的资源。检查应用程序池的回收设置以配置该持续时间。
如果您还想对回收过程中发生的情况进行额外控制,则有以下几种选择:
-
IIS7.5 (ASP.NET 4) 支持称为"自动启动"的功能,该功能可以在部署后和回收后预热站点。
-
IIS8 通过应用程序初始化模块提供其他支持。