我們目前在我們的IIS7 Web服務器上運行了一個Live ASP.NET應用程序(基本上是CMS)。在IIS7中調試已經運行的ASP.NET站點
每一次,一段時間(每隔幾個月說話)它的應用程序池將達到100%的CPU使用率,呆在那裏,直到出了頁面倍。我們已經嘗試將web.config中的頁面超時增加到30分鐘,但它仍然停留在完整的CPU中,因此我假設它是某種形式的無限循環。
這是一個龐大的應用中,我們最大的一個,和過於龐大盲目搜索的問題。普遍的看法是,由於它非常罕見,我們可以在應用程序池重啓時重新啓動,但我更願意修復它。
我可以訪問代碼和託管服務器的完全管理員權限,而且我們正在運行的監控軟件給了我足夠的時間來在服務器上,而問題正在發生,但我無法找到任何獲取有關當時情況的有用數據的方式,而不會增加網站的大量持續開銷(因爲需要幾個月才能發生這種情況並非真正可行)。
我想知道如果有人對我如何縮小搜索範圍有一些建議嗎?當前正在運行的線程的堆棧跟蹤將會很壯觀,但即使只是一個正在服務的頁面列表也會產生巨大的差異。我可以將代碼添加到項目中以使其更易於追蹤,但將所有內容記錄到捕獲它的希望中都是不現實的(它獲得大量流量,並且我們不希望爲頁面加載增加大量的開銷)。
這看起來非常有前途,謝謝!我會爲此添加書籤,並在下次發生問題時給它一個提示。 – fyjham 2009-11-21 06:45:49
苔絲的博客只是搖滾! – 2009-11-24 05:29:08