Iis
應用程序池無故回收
我們的其中一台生產伺服器(Windows 2003 伺服器)出現問題。似乎所有應用程序池每 10 秒左右(同時)回收一次。不用說,這會對應用程序的性能產生負面影響。
症狀:
應用程序記憶體失去
應用程序啟動程式碼中的調試語句正在觸發
後台執行緒停止
我發現的其他事情:
令人驚訝的是 w3wp.exe 程序保持穩定
該電腦上沒有執行防病毒軟體
試圖通過添加
<httpRuntime waitChangeNotification="1000000" />
和添加<compilation numRecompilesBeforeAppRestart="100000" />
到其中一個應用程序來禁用文件更改通知,但它沒有幫助事件中沒有任何可疑之處查看器
不知道還有什麼可以在這裡嘗試的。
您需要啟用 IIS 健康監控日誌記錄。它在應用程序事件日誌中記錄重新啟動的原因。您不應該禁用文件更改通知,因為網站中根本不應該有任何更改。創建/修改/刪除的任何文件/數據都應位於網站文件夾結構之外。
這現在已內置到 IIS 7 中的應用程序池 gui。要在 IIS 6 中啟用此功能,您可以將相關資訊添加到 web.config。您特別想記錄“應用程序生命週期事件”。
<system.web> <healthMonitoring enabled="true" heartbeatInterval="1"> <rules> <add name="HeartBeat" eventName="Heartbeats" provider="EventLogProvider" profile="Default" minInstances="1" minInterval="00:01:00" maxLimit="Infinite"/> <add name="App Lifetime" eventName="Application Lifetime Events" provider="EventLogProvider" profile="Default" minInstances="1" minInterval="00:00:00" maxLimit="Infinite"/> </rules> </healthMonitoring> <system.web>
使用健康監控事件