我在本地 Windows Server 2008 上的 IIS7 下部署了一个 ASP.NET MVC 站点。该站点运行良好,尽管我发现初始化时间有点长。我在这台机器上本地就座。如果我浏览网站一会儿然后离开一段时间(比如说 30 或 60 分钟),当我回来并单击链接时,它又需要很长时间才能呈现响应。然后下一个链接就可以了。
我对 IIS 还不太了解,但我检查了 IIS 配置中的回收时间,它设置为 29 小时,所以我猜答案不在那里。
另外,我的网站使用艾尔玛我检查了日志,发现没有什么错误。
我下一步该检查哪里?是什么原因造成的?
谢谢
答案1
听起来工作进程确实因为空闲而关闭。在应用程序池中,您可以查看高级设置/进程模型/空闲超时。默认情况下,这是 20 分钟。也就是说,如果它处于空闲状态,它将在 20 分钟后关闭。
循环时间实际上是指进程在重新启动之前持续繁忙时允许运行的最长时间。
答案2
也许您的应用程序池回收还有另一个原因(如果它回收的话)。您可以检查 Windows 应用程序事件日志,以查明在该时间段内是否记录了类似这样的 IIS 事件:
5195:服务于应用程序池“%2”的进程 ID 为“%1”的工作进程由于不活动而关闭。系统负载过高,已将此工作进程的空闲超时时间从原来的“%3”分钟减少到“%4”分钟。需要时将启动新的工作进程。
答案3
有一个 dynamicIdleThreshold 设置。以下是一些细节。