2008-12-24 30 views
1

我有一個與服務器掛鉤的web服務器,我已經能夠將它隔離到一個特定的網站實例。我想更深入地挖掘並隔離導致問題的特定頁面/進程。任何提示?在IIS中分離猖獗的進程

+0

這竟然是一個SQL問題(sql 2005)。該解決方案是通過使用SQL活動監視器來查找具有Async_network_io等待類型的暫掛進程。然後,我們運行SQL分析器將其縮小爲兩個大量查詢,這些查詢返回了大量結果。 – madcolor 2008-12-31 17:29:36

回答

0

您正在使用哪個版本的IIS?一些較高的那些允許將哪個進程用於處理請求,例如可以更多地隔離的工作進程。我還建議通過IIS日誌閱讀,看看正在處理的請求,他們花了多長時間等。

每個IIS版本都有很多不同的怪癖。真的很低的只有啓動/停止功能,但新的確給了管理員更多的控制和能力,IMO。

0

您應該嘗試使用探查器來確定哪些消耗最多的資源。我已經使用dotTrace Profiler,但如果預算緊張,這可能會很昂貴。

它使您能夠確切地查看哪些進程和方法調用使用的請求的處理時間最長,因此您可以隔離最耗費資源的操作。

你應該真的能夠使用任何分析器來做到這一點,而不僅僅是dotTrace。我只是碰巧只有這方面的經驗。

2

您可以記住進程的內存轉儲並使用windbg撥動。

There is posts on this issue from Tess Ferrandez blog。按照她的說法做。

+0

苔絲的博客是這類事情的重要閱讀材料。 – Kev 2008-12-24 19:44:12

+0

謝謝..我會檢查出來的... – madcolor 2008-12-24 20:31:20

0

更改您的網站花園設置爲10或更大。然後觀察Web服務器上的CPU和內存利用率。

繼續增加網絡花園設置,直到應用程序完全響應,平均利用率低於5%,或者實際上您的網絡服務器的內存達到最大。

UPDATE

它不是診斷,它是關於正確配置IIS服務器。 Web Gardens是IIS最受人誤解的功能之一。通過增加可用的線程來處理新的請求,您可以在Web服務器級別刪除爭用的外觀,並將其直接放在它所屬的位置。在這種情況下在你的數據庫。它不是掩蓋問題,而是實際突出顯示問題的確切位置。

0

原來是SQL問題(sql 2005)。該解決方案是通過使用SQL活動監視器來查找具有Async_network_io等待類型的暫掛進程。然後,我們運行SQL分析器將其縮小爲兩個大量查詢,這些查詢返回的結果數量過多。