我正在查看最慢请求之一的性能概况,我看到 AWAIT_TIME 超过 6 秒,但我无法获得有关它的更多信息。我如何弄清楚进程到底在“等待”什么?
From Azure 的文档 https://learn.microsoft.com/en-us/azure/application-insights/app-insights-profiler-overview?toc=/azure/azure-monitor/toc.json#await:
等待 (AWAIT_TIME)
AWAIT_TIME
指示代码正在等待另一个任务完成。这通常发生在 C# 的“await”语句中。当代码执行 C#“等待”时,线程展开并将控制权返回给线程池,并且没有线程被阻止等待“等待”完成。然而,从逻辑上讲,执行等待的线程被“阻塞”,等待操作完成。这AWAIT_TIME
表示等待任务完成的阻塞时间。+
封锁时间
BLOCKED_TIME
指示代码正在等待另一个资源可用,例如等待同步对象、等待线程可用或等待请求完成。
因此它正在等待必要的东西来继续处理。我们也有同样的问题很久了AWAIT_TIME
文件上传,结果发现请求正在等待读取请求的流(ReadAsMultiPartAsync()
对于我们来说)...如果你看一下代码RecASPRequest
and _RtlUserThreadStart
,罪魁祸首很可能就是你……
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)