我正在使用具有非常长的初始化序列的IIS托管的ASP.NET服务:数百个大型xml文件被加载,解析,缓存,写入db等。
在过去的一个月中,该应用开始偶尔经历一个非常漫长的初始化序列,例如30分钟,而正常时间为1分钟。直到现在,这种现象的发生频率更高,几乎在每次启动时都如此。
基于重复的日志模式,一种可能性是该应用程序被Windows或IIS终止,然后重新启动。这会重复数十次,每次都会执行init加载序列,直到最终启动成功为止。
日志不包含任何错误(不会引发运行时异常),并且此应用具有很好的日志记录。
Windows或IIS可以基于什么决定终止应用程序池进程(w3wp.exe)?如何进一步调查重新启动应用程序池的时间戳/时间间隔?有什么补救办法可以解决这个问题?