我不明白將要採取或研究的下一個問題解決步驟是什麼。asp.net崩潰:IIS8請求執行增加並且CPU保持低位
我有一個Web應用程序在一個IIS8網絡服務器上運行。最近我們正在爲Web應用程序的性能而苦苦掙扎。今天早上,網絡應用程序再次「崩潰」。我的意思是它沒有迴應任何新的請求。
由於性能監視器是你的朋友,我發了以下計數器:
- 處理器時間(%)
- 請求執行
- 請求/秒
查看圖像I」包括在內。
我發現interessting只是增加了「Requests Executing」。而且...... CPU沒有100%運轉來擺脫所有這些要求。
由於我是該Web應用程序的主要開發人員,因此我已經優化了許多高CPU網頁。 有了這個SO線程,我希望能找到瓶頸。也許提供額外日誌記錄的提示。應用程序代碼分析等。我可以在需要時提供有關設置或應用程序的更多信息。
希望你能幫上忙。提前謝謝了。
一些規格:
- 的Windows Server 2012R2 IIS8
- Intel Xeon四核CPU 的
- 共有4個演出內存
- ASP.net 4.0 Web應用程序
用戶規格:
我運行性能監視器:個 之間100-500編輯
- 谷歌分析實時訪客數據收集設置大約一個小時。正好在網站崩潰的那一刻。我使用工具PAL來分析它。它只有很多關於內存低於5%的警告。 這個記憶問題顯然是我們即將解決的問題。
我注意到的另一件事是IIS8中「當前請求」的列表非常龐大。它包含數百個「當前請求」。我希望這些請求達到超時值,並向用戶發送請求超時。
這是當前健康狀況的打印屏幕:
這份名單是無限長。
而且,我剛剛注意到的另一件事是一個請求花了超過10分鐘(!)向用戶傳遞一個字節[]。 '狀態'是SendResponse。我懷疑這個用戶是在一個低bandwitdh設備。只要這個用戶正在下載 - 一個工作進程被採取。我們應該如何準備這個長期未決的請求?
奧克 - 我發現了一個可以啓用的功能,稱爲**「請求監視器」**。 SO-link:http://stackoverflow.com/a/15622626/167196。 我認爲如果啓用該功能,並且能夠查看當前(待定)的請求,則可能會看到導致此問題的原因。 – JonHendrix 2015-02-10 11:42:12
因爲我不確定啓用該功能是否會導致重新啓動 - 我等到獲得可接受的時間範圍才能啓用它。 – JonHendrix 2015-02-10 11:43:58