CPU 為 50%,但 IIS/ASP.net 請求仍在排隊

CPU 為 50%,但 IIS/ASP.net 請求仍在排隊

我們有一個 (VMWare) 虛擬機,在負載測試時,它似乎開始對 120 個用戶的請求進行排隊。

CPU 的使用率似乎沒有超過 70%,所以我很難理解為什麼它無法處理請求?

CPU 時間以紅色顯示在左下角 CPU圖

答案1

CPU 並不是處理請求的唯一瓶頸。一切都取決於您的應用程式正在做什麼。如果您正在執行大量 IO 密集型工作,那麼這可能是比 CPU 更重要的因素。

ASP.net 的執行緒池中的執行緒數量有限,因此如果它們都很忙,它們就會開始排隊。查看這件作品有關請求排隊的一些提示。

您是否對每個請求執行大量 sql 插入/更新?取得一些時間安排,甚至可以使用 Glimpse。其中太多,它們會阻止等待回應的線程/請求。

您是否正在呼叫某些第 3 方 api?這些會導致線程/請求等待,並且允許的並發連接數受到限制。

該應用程式為每個用戶做什麼?您正在檢索 1000 多筆記錄嗎?

檢查這個MS Connect 支援文章,如果您還沒有調整過的話,有很多 IIS 配置選項可能會對您有所幫助。

同樣,這是在不知道您的應用程式做什麼以及如何做的情況下進行的。

相關內容