我有一个在 Windows 2008 R2 Service Pack 1 上运行的 Web 应用程序。有时 ApplicationPool 会被禁用,我必须手动重新启动它。崩溃和重新启动之间的时间至关重要。
在事件日志中我看到 5 条警告和 1 条错误。
警告1: 为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“4028”。数据字段包含错误编号。
警告2: 为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“6400”。数据字段包含错误编号。
警告 3: 为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“27892”。数据字段包含错误编号。
警告4: 为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“30180”。数据字段包含错误编号。
警告 5: 为应用程序池“MyAppPool”提供服务的进程与 Windows 进程激活服务发生致命通信错误。进程 ID 为“14816”。数据字段包含错误编号。
错误: 由于为该应用程序池提供服务的进程中出现一系列故障,应用程序池“MyAppPool”被自动禁用。
你知道问题是什么吗?我应该怎么做才能修复它?
答案1
引自这stackoverflow 答案:
IIS 带有一项称为“快速失败保护”的功能。默认情况下,如果池中的某个工作程序在 5 分钟内崩溃 5 次,则应用程序池将被禁用。
可以通过右键单击应用程序池,转到高级设置并修改“快速失败保护”属性来修改此设置的阈值。但是,此事件表明您的应用程序中可能存在需要解决的严重问题。