用 dotTrace 进行性能分析时,各种不同性能分析选项的含义和用途

栏目: ASP.NET · 发布时间: 5年前

内容简介:对 .NET 程序进行性能分析,dotTrace 能应对绝大多数的场景。在开启一个进程进行性能分析之前,我们会看到一些性能分析选项(Profiler Options)。本文将介绍这几个选项的含义,并用实际的例子来说明其用途。你可以前往本文要说的就是下图右边的那四个选项,在启动一个进程进行性能分析之前可以看得见的。

对 .NET 程序进行性能分析,dotTrace 能应对绝大多数的场景。在开启一个进程进行性能分析之前,我们会看到一些性能分析选项(Profiler Options)。本文将介绍这几个选项的含义,并用实际的例子来说明其用途。

dotTrace 的性能分析选项

你可以前往 Download dotTrace: .NET Performance Profiler by JetBrains 下载 dotTrace。

本文要说的就是下图右边的那四个选项,在启动一个进程进行性能分析之前可以看得见的。

用 dotTrace 进行性能分析时,各种不同性能分析选项的含义和用途 ▲ dotTrace 启动进程进行性能分析的界面

有四个选项:

  • Sampling
  • Tracing
  • Line-by-Line
  • Timeline

Sampling 采样

界面中的描述为:

Accurate measurement of call time. Optimal for most use cases.

使用此选项进行启动进程后,会准确测量不同方法的执行时间,但不会统计方法的调用次数。

这适用于大多数场景。尤其是如果你还没有对你的程序进行过任何性能分析的情况下,先使用这个选项进行一个初步分析大致确定性能问题是很方便的。

Tracing 追踪

界面中的描述为:

Accurate measurement of calls number. Optimal for analyzing algorithm complexity.

会准确地测量调用次数。但在此选项下,时间的测量将由于性能分析的开销过大而可能不准确。

如果你使用 Sampling 分析方式得不到你想要的性能分析数据的时候,你可能用得到此选项。例如,当你分析算法复杂度,需要明确知道方法的调用次数,而不需要知道方法的准确执行时间的时候。

Line-by-line 逐行

界面中只写了一句根本无法理解的话:

Advanced use cases only.

仅仅说了这是高级使用场景,名没有说什么样的场景。

这个选项下,分析器会测量每行代码。由于性能分析的开销过于巨大,调用时间的测量也是不准确的。如果要降低此选项下的开销,你可以使用过滤器仅分析特定的方法。关于使用过滤器,可以阅读官方文档 Profiler Options - Help - dotTrace

当你已经通过其他方法得知性能问题出现在哪个具体的方法时你可能需要用到这个选项,这会分析此方法的每一行代码。

Timeline 时间线

界面中的描述为:

Measurement of temporal performance data. Optimal for most use cases including analysis of multi-threaded applications.

收集有关线程状态、应用程序事件和其他多线程数据的时态数据。此方法基于 Windows 的事件跟踪器(ETW)。

推荐用于大多数情况,尤其是分析多线程应用程序的时候。你可以用这个选项来确定 UI 卡顿或不响应的原因,可以分析过多的 GC(垃圾回收),可以分析不均匀的工作负载分配、IO 不足或者其他各种异常。

由于需要用到 Windows 的事件跟踪器(ETW),所以你可能遭遇 ETW 相关的问题。具体可以阅读 用 dotTrace 进行性能分析时,Timeline 打不开?无法启动进程?也许你需要先开启系统性能计数器的访问权限

参考资料


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

艾伦•图灵传

艾伦•图灵传

(英)安德鲁·霍奇斯 / 孙天齐 / 湖南科学技术出版社 / 2012-8-1 / 68.00元

《艾伦·图灵传:如谜的解谜者》是图灵诞辰100周年纪念版,印制工艺更为精美。本书是世界共认的最权威的图灵传记。艾伦?图灵是现代人工智能的鼻祖,在24岁时奠定了计算机的理论基础。二战期间,他为盟军破译密码,为结束战争做出巨大贡献。战后,他开创性地提出人工智能的概念,并做了大量的前期工作。因同性恋问题事发,被迫注射激素,后来吃毒苹果而死。作者是一名数学家,也是一名同性恋者。他对图灵的生平有切身的体会,......一起来看看 《艾伦•图灵传》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具