属性分析工具-PerfView

Roslyn的PM(程序经理) Bill
Chiles,Roslyn使用纯托管代码开发,但性能超过之前以C++编写的原生实现,这起什么秘诀呢?他不久前形容了扳平篇稿子称《Essential
Performance Facts and .NET Framework
Tips》里头推荐了一个属性分析工具《Improving
Your App’s Performance with
PerfView》。PerfView能够收集Windows事件跟踪(ETW)数据来追踪程序的调用流向,这些程序通过调用哪个函数识别频率。除了配置程序性能数据(Perfmon、PAL和Xperf等工具不可知轻松完成),PerfView还能分析程序内存堆来帮衬确定内存的采取是否快捷。它还有一个Diff功能,可以叫你规定跟踪间的人身自由差别来助您认有富有逆行。最后,该工具还有一个Dump功能可以老成一个顺序内存转储。

安装PerfView

从今微软产充斥之
PerfView
包括一个zip压缩文件,其中只出一个不过实行之文书perfview.exe,这简化了安。你可将以此文件复制到多单你想跟的服务器上,然后以这些服务器或你本地的工作站中分析数据。PerfView在Windows
Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2跟Windows
Server 2012直达都遇支撑,要求.NET FX 2.0上述。

集配置数据

PerfView利用Windows事件追踪,而ETW从Windows 2000
Server以来就径直内放操作系统被。只是近年来才产生XPerf和PerfView一近似的工具利用ETW数据来化解性能问题。事件数量给集及一个事变跟踪日志(ETL)中。根据你想使盯住事件的数据以及时空之长短,ETL文件或者会见生特别。你可界定这个日志文件的深浅,如果空间受限或者您切莫知晓问题何时来的话语,你还足以为其循环。默认每毫秒一坏的采样间隔在搜集时间内发出了大致百分之十的CPU开支。建议大概5000单样本(5秒)用于平破代表性配置采样。

起来同不良数据搜集发出有限栽方法,用运行命令启动一个顺序要用收集命令在微机范围外征集数据。这些命令可以由采访下拉菜单下之GUI引发,或者打CLI或下论被推行“PerfView
run”或“PerfView
collect”命令。下图显示运行命令tutorial.exe时征集数据的过程,tutorial.exe是一个搭的教练演习。

查阅结果

要是而于来之间对性能问题收集了数,你得用PerfView分析ETL文件。该ETL文件会现出于左手的窗口,有集日志或运行命令中你提供的名。通过双击该RTL文件,十来独独立的节点会和代它们内容的名一同出现。例如,你见面当生图被看看跟信息、程序、事件、CPU堆栈。双击各个节点,适当的查器会打开这些内容。

为了对一个一定程序分析计算密集型性能问题,你用急需学习要调用的堆栈和函数。这可由此双击左手窗口被之“CPU堆栈”节点完成。接着你晤面拿走提拔来抉择而感兴趣的程序。最后,该CPU堆栈查看器会当独的窗口中开辟,如下图QQ进程的信息
,你可确定调用了谁函数和它的效率。

一旦您仔细查阅方的例子,你晤面意识第一行显示<<user32!?>>。“!?”代表PerfView不能够分析是模块名称。你可双击这个未知模块名称并摘“查找符号”来展示该模块名称。按用户指南所述配置符号路径对于解析操作系统函数名称或者是产生必要的。

PerfView是一个便民用户之家伙,可以用来搜集及分析ETW数据用于缓解配置程序性能数据的题材。这个家伙得以迅速地出示为这个程序执行的操作系统函数,了解性问题或藏身的位置。