我們有一個非常奇怪的問題。服務器場中的一臺服務器變得非常慢。我們在日誌中看到大量超時,並且總體響應時間不是應該在的位置(並且位於服務器場中的其他服務器上)。Web服務器變慢(ASP.NET)
還有一點奇怪的是,它不僅僅是web應用程序 - 只需登錄到服務器需要1.5分鐘才能顯示桌面。一旦進入系統,系統就會像以前一樣響應 - 除非您嘗試啓動某些內容(即記事本),否則需要一分鐘才能啓動,啓動後它可以正常工作。
我檢查了一些東西 - 內存利用率是合理的,CPU低於15%,窗口句柄,事件日誌不顯示任何東西。
回收aps.net進程無法修復它 - 它仍然需要一分鐘才能登錄。重啓服務器有幫助,但現在它又開始減速。
經過仔細觀察,我們發現Windows Temp目錄中充滿了臨時文件 - 超過65k個文件。這當然是需要照顧的。但我的問題是,它可能是緩慢的根源,還是還有其他潛伏在陰影中的東西?
編輯
更多的挖掘後,我就有關臨時目錄的大小問題歸零英寸這article:描述了非常相似的東西。我仍然不太確定,因爲服務器甚至打開甚至記事本的速度都很慢,這一事實仍不清楚。
在這樣的條件下創建一個新的臨時文件是否有可能花費一分鐘?
爲什麼'Temp'文件夾已滿?它包含什麼樣的文件?這些文件與您的應用程序有關嗎? – 2009-11-10 18:00:01
@Darin出於多種原因,但主要是因爲MS CryptQueryObject中存在已知的錯誤(請參閱http://support.microsoft.com/?id=931908。)。我們在研究這個問題的時候挖掘了這篇文章,但是現在我試圖弄清楚這是否是真正的根本原因 – mfeingold 2009-11-10 18:07:02
您提供的KB表示,當臨時文件數量達到時,對CryptQueryObject的調用花費的時間比預期的要長約65,000。你在調用這個函數嗎? – 2009-11-10 18:11:10