伺服器頻繁產生「為應用程式池 'DefaultAppPool' 提供服務的進程關閉時間超過了限制。進程 ID '2068'」錯誤,導致 IIS 假死。經排查為 IIS 應用程式池設定問題,提供四種解決方案。
路徑: IIS 管理員 → 應用程式池 → DefaultAppPool → 右鍵「屬性」
1740(29 小時,避開業務高峰)。1(預設)。原「要求佇列限制」4000 改為無限制。
90 秒,關閉時間限制 180 秒。關鍵點:「關閉時間限制 180 秒」為必須調整項。預設 90 秒,若進程關閉超過 90 秒即判定超時產生日誌錯誤,適當延長可避免此錯誤。
原因: 獨立進程桌面堆疊耗盡,IIS 無法建立更多工作空間。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVCParameters 鍵下新建 DWORD:UseSharedWPDesktop = 1現象: 相同程式碼本地正常,伺服器端資料庫連線無法釋放。
解決: 連線字串加入:
Pooling=true; MAX Pool Size=512; Min Pool Size=50; Connection Lifetime=30
為不同網站建立獨立應用程式池,避免單一池故障波及全站。