9

我正在查看我的最慢请求之一的性能配置文件,我看到 AWAIT_TIME 超过 6 秒,但我无法获得有关它的更多信息。我如何弄清楚这个过程到底是什么“等待”?

分析的一部分

4

1 回答 1

8

Azure 的文档

等待(AWAIT_TIME)

AWAIT_TIME表示代码正在等待另一个任务完成。这通常发生在 C# 'await' 语句中。当代码执行 C# 'await' 时,线程展开并将控制权返回给线程池,并且没有线程被阻塞等待 'await' 完成。但是,从逻辑上讲,执行等待的线程被“阻塞”以等待操作完成。AWAIT_TIME表示等待任务完成的阻塞时间。+

阻塞时间

BLOCKED_TIME表示代码正在等待另一个资源可用,例如等待同步对象、等待线程可用或等待请求完成。


所以它正在等待一些必要的东西来继续处理。我们在AWAIT_TIME文件上传时遇到了同样的问题,结果发现请求正在等待读取请求的流(ReadAsMultiPartAsync()对我们来说)......如果你查看和中的代码RecASPRequest_RtlUserThreadStart你可能会是罪魁祸首.. .

于 2017-10-03T21:07:46.203 回答