2010-08-05 110 views
2

我有一個網站託管在Windows 2008 x64上的IIS 7下。 IIS以64位模式運行,並且該站點具有自己的應用程序池64位等。該網站似乎大多數時間運行良好,然後突然每小時凍結用戶請求。他們沒有收到超時消息,它只是掛起,似乎等待大約2-3分鐘才返回頁面。ASP.NET網站似乎定期(每小時)凍結/暫停/暫停/掛起

我在該應用程序池期間監視了工作進程,看到處理器處於非常穩定的25%。記憶力很好,沒有任何可怕的方式增加。

我已經安裝失敗的請求跟蹤向我展示每個問題,其中一個請求需要超過30秒,並且它記錄它但沒有錯誤。

同一服務器上不同應用程序池中的其他網站在停機期間工作正常。

有關我如何調試此問題的任何建議?

回答

1

事實證明,我們使用了一種名爲i-Load的控件來調整圖像大小。它具有在3小時後刪除臨時文件的功能。這是鎖定IO並導致整個Web應用程序停止。關掉它,現在一切正常。希望這可以幫助某人。

2

您是否已將IIS設置爲在給定時間表上回收該應用程序池上的工作進程?你表示你監視它,但你沒有指出你是否發現它被過度循環使用,只是分配的內存沒有以不正常的方式增加。

在這段時間內IIS日誌是否顯示異常?嘗試使用像Fiddler這樣的應用程序來幫助調試對Web服務器的請求。

+0

感謝您的回覆。應用程序池僅在內存超過6GB的情況下才會回收,並且在凌晨一天一次。我也有記錄它的應用程序池被回收,並沒有在事件日誌中爲此。 我們已經審查了網站請求的日誌,並不奇怪。有我可以看看的IIS日誌嗎? – Chris 2010-08-05 12:25:53

+0

你可能已經檢查過它們,但你可以找到所有與IIS有關的日誌:%SYSTEMROOT%\ System32 \ LogFiles 在我的情況下運行IIS7,它們出現在C:\ Windows \ System32 \ LogFiles \ 你試圖在用戶報告行爲的時候在本地單步執行代碼? 請查看http://support.microsoft.com/kb/919791。我知道你表示處理器穩定在25%,但這可能有助於確定哪個線程運行時間很長。 – 2010-08-05 12:41:15

+0

再次感謝。我們不使用iis來記錄請求,因爲它們變得越來越大。我們已經嘗試了DebugDiag,但它只適用於32位而不是64.您是否知道會話狀態在SQL Server,Viewstate中存在的問題或動態壓縮? – Chris 2010-08-05 13:09:45

0

應用程序是否依賴於每小時運行一些作業的數據庫?

如果數據庫負載過重,查詢在您的數據庫上執行需要更長的時間,因此您的網絡應用需要更長的時間來處理頁面。

+1

它確實,但我們已經分析了數據庫,並沒有不尋常的去那裏。 – Chris 2010-08-05 12:27:56