有没有办法知道为什么IIS中的应用程序池重新启动了?

9w11ddsr  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(68)

我有一台运行IIS 10.0的Windows Server 2016计算机。它托管了许多应用程序池。特别是一个池随机重新启动。这是一个使用频繁的池,这种中断对我们来说是一个问题。我们注意到这种重新启动,因为当客户端重新进行身份验证时,网站变得有点无响应,包括数百个重新加载的ASP会话,和数以千计的SignalR连接。然后一切恢复正常。我们需要弄清楚为什么网站重新加载,这样我们就可以修复它的任何问题。
我们已经尝试过的事情,以及我们已经消除的重新启动的潜在原因:

  • 这不是一个 * 空闲超时 *。该网站是在繁忙的使用和空闲超时被禁用。
  • 这不是一个 * 自动每日回收 *。这是禁用的。
  • 我们不相信这是一个 * 文件配置更改 *,如web.config或\bin文件夹中的东西。我们在web.config中添加了fcnMode="Disabled"来阻止此操作,但没有看到任何效果。其他网站没有重新加载,所以这不是某种全局IIS文件更改。
  • 在Windows事件日志中没有与此相关的任何类别的事件。就像没有发生错误。或者它不是记录的东西。
  • inetpub\logs\LogFiles\W3SVC1iislogs\www\HTTPERR 中的日志文件中,我们找不到与这些重新启动相关的信息。

我想澄清的是,这个进程不会被杀死,也不会崩溃。托管这个池的w3 wp可执行文件上的线程不会回到零。它更像是一个循环。它每天发生3-6次。
我们能做些什么来找到原因呢?我们能启用的任何日志记录-无论是错误还是优雅的“故意”重启?

编辑:-我们发现并添加了一个关于System.Web.Hosting.HostingEnvironment.ShutdownReason的日志,我们希望这会有所帮助。留下任何其他想法的问题。

wwodge7n

wwodge7n1#

根据我的经验,如果你的应用程序池自动重启,那是因为这个网站在服务器上使用了很高的CPU使用率,所以IIS会自动回收你的应用程序池。你有没有检查过你的应用程序和IIS设置,你没有对你的网站设置任何限制?

nfs0ujit

nfs0ujit2#

您可以使用PerfMon收集数据,并使用AnalogDiag进行分析。
有关IIS应用程序池崩溃和调试诊断,请参阅:
https://learn.microsoft.com/en-us/archive/blogs/parvez/iis-application-pool-crash-and-debug-diag
如果IIS由于应用程序池中的CPU使用率高而自动禁用应用程序池,请参阅:
https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/health-diagnostic-performance/troubleshoot-high-cpu-in-iis-app-pool
但是分析转储文件是一个复杂的过程。如果您无法使用这些技术找到根本原因,我建议您通过以下方式与Microsoft支持部门联系以获得进一步帮助:https://support.microsoft.com

相关问题