Asp.net-Mvc
Azure Profiler 中的 AWAIT_TIME 到底是什麼意思?
我正在查看我的最慢請求之一的性能配置文件,我看到 AWAIT_TIME 超過 6 秒,但我無法獲得有關它的更多資訊。我如何弄清楚這個過程到底是什麼“等待”?
等待(AWAIT_TIME)
AWAIT_TIME表示程式碼正在等待另一個任務完成。這通常發生在 C# ‘await’ 語句中。當程式碼執行 C# ‘await’ 時,執行緒展開並將控制權返回給執行緒池,並且沒有執行緒被阻塞等待 ‘await’ 完成。但是,從邏輯上講,執行等待的執行緒被“阻塞”以等待操作完成。AWAIT_TIME表示等待任務完成的阻塞時間。+阻塞時間
BLOCKED_TIME表示程式碼正在等待其他資源可用,例如等待同步對象、等待執行緒可用或等待請求完成。所以它正在等待一些必要的東西來繼續處理。我們在
AWAIT_TIME文件上傳時遇到了同樣的問題,結果發現請求正在等待讀取請求的流(ReadAsMultiPartAsync()對我們來說)…如果您查看 and 中的程式碼RecASPRequest,_RtlUserThreadStart您可能是罪魁禍首.. .
