Iis-7

幫助嘗試找出 IIS7 崩潰/鎖定/拒絕連接的原因

  • January 28, 2020

我有一個非常繁忙的網站,它在 W2K8 + IIS7 上的單個 Web 前端機器上執行。

時不時地-例如。也許是星期一凌晨 3 點或其他時間,然後幾天后.. 某個清晨的時間.. 然後 2 週內甚麼都沒有……等等 - 該網站無法響應任何客戶端連接。

IE。沒有人可以連接到該網站。

我可以遠端桌面到機器等沒有問題。

我重新啟動應用程序池(網站以集成模式執行),仍然沒有。我嘗試獲取該過程的崩潰轉儲(大約 600 mb 甚至更多)……嘗試大約一分鐘後失敗(我有足夠的高畫質空間)。

解決此問題的唯一方法是手動停止 www 服務,然後重新啟動它。停止需要一段時間(一分鐘?),而啟動幾乎是即時的。

我不知道我的程式碼的哪一部分導致了這種情況。起初,我認為這可能是堆棧溢出,因為某些錯誤可能會進入錯誤頁面,從而導致錯誤..沖洗重複繁榮。但是我看過錯誤頁面,感覺還可以。

所以,我希望有人能夠幫助並說明我如何正確獲得 IIS 程序的正確轉儲,這樣我就可以對其進行更多的屍檢。我會向Tess Ferrandez(崩潰調試女神)發送電子郵件,但我想在向她發送垃圾郵件之前先在這裡嘗試一下。

任何人都可以對我如何弄清楚如何開始調試這個問題有任何建議嗎?

不久前我已經找到了答案。

該應用程序由於某種原因而崩潰(我仍然無法弄清楚究竟在哪裡),但是 IIS 停止的原因是它在短時間內發生了很多 - IIS 將其稱為RAPID-FAIL PROTECTION

這是一些典型設置的螢幕截圖。如果我理解正確,就是說如果在 5 分鐘內發生 5 次崩潰,則停止此應用程序池並回复 Service Unavailable 消息。(不過,在此螢幕截圖中,快速故障保護已關閉)。

替代文字

(來源:西風網

所以這就是我的網站“拒絕連接”的原因。應用程序池被告知停止(協作並傾聽……)並返回 a503 for any new connections直到人類(咳咳咳)檢查發生了什麼並手動重新啟動應用程序池。

需要考慮的一些事項:

  1. 當iis停止工作時,w​​ww程序在做什麼?(即消耗CPU,消耗記憶體,扁平化?)
  2. 您可以從伺服器遠端登錄到網站(主機名或 IP 地址)還是連接失敗?
  3. 它總是在清晨失敗嗎?那段時間你有什麼事情嗎?備份、批處理或數據庫的東西?
  4. 您的 asp.net 程序是否消耗大量 ram 或 cpu?
  5. 如果您創建第二個非 asp.net 站點(純 html),它會繼續執行嗎?

引用自:https://serverfault.com/questions/112665