我有一台运行 IIS 10.0 的 Windows Server 2016 计算机。它托管许多应用程序池。特别是一个池会随机重新启动。这是一个被大量使用的池,这种中断对我们来说是一个问题。我们注意到这种重新启动,因为当客户端重新进行身份验证(包括数百个重新加载的 ASP 会话和数千个 SignalR 连接)时,站点变得有些无响应。然后一切恢复正常。我们需要找出网站重新加载的原因,以便解决问题。
我们已经尝试过的事情,以及我们已经消除的重启的潜在原因:
fcnMode="Disabled"
来阻止这种情况,但没有看到任何效果。其他站点不会重新加载,因此这不是某种全局 IIS 文件更改。我想澄清的是,该进程没有被终止,也没有崩溃。托管该池的 w3wp 可执行文件的正常运行时间不会回到零。这更像是一种回收。每天发生3-6次。
我们可以做什么来查找原因?我们可以启用任何日志记录 - 无论是错误还是优雅的“故意”重启?
编辑: - 我们在
System.Web.Hosting.HostingEnvironment.ShutdownReason
上找到并添加了日志,我们希望这会有所帮助。留下任何其他想法的问题。
根据我的经验,如果你的应用程序池自动重启,那是因为该网站对服务器的CPU使用率很高,所以IIS会自动回收你的应用程序池。您是否检查过您的应用程序并检查过您的 IIS 设置,确定您没有对您的网站设置任何限制?