【问题标题】:what does AWAIT_TIME exactly mean in the Azure profiler?Azure Profiler 中的 AWAIT_TIME 到底是什么意思?
【发布时间】:2017-07-24 20:17:39
【问题描述】:

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

【问题讨论】:

  • 你找到什么了吗?

标签: asp.net-mvc azure azure-application-insights etw perfview


【解决方案1】:

来自Azure's documentation

等待(AWAIT_TIME)

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

阻塞时间

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


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

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 2017-07-20
    • 2014-09-23
    • 2014-07-25
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多