线程如何在性能/ cpu剖析器中看起来有用?

时间:2018-06-02 03:04:30

标签: profiler dottrace perfview

在我分析ASP.NET核心应用程序后, JetBrain的dotTrace 工具默认打开All Calls选项卡并显示一个线程列表。

请您澄清我的一些问题吗?

  • 在我的分析会话期间,我向Web应用程序发送了大约100K的请求。这些线程(除了Main和一些系统线程,如Finalizer线程)是否是线程池用来根据下面的图像提供所有请求的唯一线程?

  • 理想情况下,我更愿意了解占用大量CPU的函数的细节(即分析会话中最热门的方法),所以我一直在想这个线程视图实际上有何帮助?

  • 您认为线程池中可能有更多线程可以使用并返回给线程池,但是分析器只能“捕获”特定线程池线程的信息因为那些线程池线程在那段时间内正在执行?我这样说是因为对于~100K请求,此处显示的线程数似乎较少,但我可能是错的。 (可能是基于执行的并发请求数量?)

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

在应用程序中使用真实线程时,“线程”视图非常有用。 例如,在WPF中,仅用于调度程序的主线程和用于后台工作的自定义线程。

在您的情况下,您仍然可以扩展调度以查看内部执行的内容。 您还可以使用“跟踪”模式查看池工作程序中的请求数。

将显示您在性能分析记录期间实际使用的所有线程,每个线程将执行很多请求

对于这种使用,我更喜欢“时间轴”模式,因此您可以过滤所有请求,并查看执行了所有线程。

相关问题