2010-03-24 208 views
3

我最近部署了一個MVC應用程序到IIS6的Web服務器。我一直有的一個奇怪的行爲是加載時間會隨機吹到30秒+,然後恢復正常。我們的測試表明,這種情況同時發生在多個連接上。等待結束後,網站會再次響應。這種情況發生時是完全隨機的,但可能每15分鐘左右發生一次。IIS6,ASP.NET MVC 1和隨機減速

我的第一個想法是應用程序由於某種原因正在由Web服務器重新啓動,但我確定情況並非如此,因爲進程回收很少設置,並且我在應用程序啓動中放置了一些日誌記錄。

這也與數據庫連接無關。這種放緩只發生在靜態頁面之間。我用SQL分析器監視了數據庫,並且在發生這些減速時沒有任何事情發生。

最後,我已經在我的控制器動作中放入了進入和退出日誌,減速總是發生在控制器之外。控制器動作的進入和退出時間總是適當的快。

有沒有人有什麼想法可能會導致此?我試過在IIS7上本地運行它,但我沒有遇到這個問題。我只能認爲這與我們的託管服務提供商有關。

回答

0

這是否在死亡的服務器上運行?如果不是,它可能是您的主機providor。

這聽起來對你來說,服務器每隔15分鐘就會因爲某種原因使其CPU達到最大。它可能是代碼觸發無限循環的東西,你看看事件日誌中是否有應用程序出現任何崩潰/錯誤。

0

在探查器(例如JetBrains)下運行web應用程序,並在發生這些30秒鎖定之一後轉儲結果。分析器輸出應該使找到瓶頸非常明顯,因爲它將精確定位消耗時間/阻塞其他線程的確切API調用。

在猜測它可能是內存壓力導致從緩存或垃圾收集轉儲項目,雖然30秒聽起來有點過分。