我有一个在装有 IIS 10 的 Windows Server 2016 上运行的 .NET 应用程序。此应用程序配置有自己的应用程序池。同一台服务器上还托管着其他应用程序,每个应用程序都有自己的应用程序池。每个应用程序池都配置为从凌晨 12:00 开始以交错间隔每天回收。
回收时,这些应用程序池中的一些会随机崩溃,我不知道是什么导致了这些崩溃。如果我再次回收它们,它们就会恢复正常。
此次崩溃期间反复出现的错误类似于
“为应用程序池‘MyApp’提供服务的工作进程‘11268’中协议‘http’的侦听器通道报告侦听器通道故障”
以下是与名为 MyApp 的应用程序相关的应用程序池崩溃时发生的事件 vrw 中的事件。
为应用程序池“MyApp”提供服务的进程 ID 为“13276”的工作进程已请求回收,因为其已达到计划的回收时间。
<Event> <System> <Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" /> <EventID Qualifiers="16384">5076</EventID> <Version>0</Version> <Level>4</Level> <Task>0</Task> <Opcode>0</Opcode> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2017-11-16T06:05:02.544043500Z" /> <EventRecordID>112746</EventRecordID> <Correlation /> <Execution ProcessID="0" ThreadID="0" /> <Channel>System</Channel> <Computer>XYZP00953</Computer> <Security /> </System> <EventData> <Data Name="ProcessID">13276</Data> <Data Name="AppPoolID">MyApp</Data> <Binary /> </EventData> </Event>
不知为何我发布的 xml 格式不正确。我会再次编辑,看看是否能修复。
为应用程序池“MyApp”提供服务的工作进程“11268”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
5139 0 3 0 0 0x800000000000000 112747 系统 XYZP00953 MyApp 11268 0 http 0615F6FF
为应用程序池“MyApp”提供服务的工作进程“10292”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
5139 0 3 0 0 0x800000000000000 112748 系统 XYZP00953 MyApp 10292 0 http 0615F6FF
为应用程序池“MyApp”提供服务的工作进程“9584”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
5139 0 3 0 0 0x80000000000000 112749 系统 XYZP00953 MyApp 9584 0 http 0615F6FF
为应用程序池“MyApp”提供服务的工作进程“13900”未能在规定时间内启动协议“http”的侦听器通道。数据字段包含错误编号。
5137 0 3 0 0 0x800000000000000 112751 系统 XYZP00953 MyApp 13900 0 http B4050780
为应用程序池“MyApp”提供服务的工作进程“4320”未能在规定时间内启动协议“http”的侦听器通道。数据字段包含错误编号。
5137 0 3 0 0 0x800000000000000 112755 系统 XYZP00953 MyApp 4320 0 http B4050780
由于为该应用程序池提供服务的进程出现一系列故障,应用程序池“MyApp”被自动禁用。
5002 0 2 0 0 0x80000000000000 112756 系统 XYZP00953 MyApp
答案1
找到罪魁祸首了。第三方 iis 模块崩溃了,并连带拖垮了 MyApp 池。正在与供应商合作解决此问题。