浅析几款常见的性能分析工具

gprof

gprof是GNU profile工具,可以运行于linux、AIX、Sun等操作系统进行C、C++、Pascal、Fortran程序的性能分析,用于程序的性能优化以及程序瓶颈问题的查找和解决。通过分析应用程序运行时产生的“flat profile”,可以得到每个函数的调用次数,每个函数消耗的处理器时间,也可以得到函数的“调用关系图”,包括函数调用的层次关系,每个函数调用花费了多少时间。

perf

perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。

通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析制定应用程序的性能问题(per thread),也可以用来分析内核的性能问题,当然也可以同事分析应用程序和内核,从而全面理解应用程序中的性能瓶颈。

SystemTap

SystemTap 是一款诊断Linux系统性能的工具,可以跟踪内核以及用户态程序中的任意函数、syscall、语句甚至指令,可以用来动态地收集调试和性能信息的工具,不需要我们重新编译、重启内核。缺点:用户需要自己编辑脚本测试文件。

VTune

Vtune可视化性能分析器(Intel VTune Performance Analyzer)是一个用于分析和优化程序性能的工具,作为Intel为众多开发者们提供的专门针对寻找软硬件性能瓶颈的一款分析工具,它能帮助你确定程序的热点(hotspot),帮助你找到导致性能不理想的原因,从而让你能据此对程序进行优化。

概括起来Vtune性能分析器能通过以下的手段帮助你发现和定位程序中的性能问题:

1、从当前系统中收集性能数据

2、从系统到源代码不同的层次上,以不同的互动形式来组织和展示数据

3、发现潜在的性能问题,并提出改进措施。

Oprofile

Oprofile 是 Linux 平台上,类似 INTEL VTune 的一个功能强大的性能分析工具。 其支持两种采样 (sampling) 方式:基于事件的采样 (event based) 和基于时间的采样 (time based) 。

google-perftools

google-perftools 是一款针对 C/C++ 程序的性能分析工具,它是一个遵守 BSD 协议的开源项目。使用该工具可以对 CPU 时间片、内存等系统资源的分配和使用进行分析。google-perftools 主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目了然。在对程序做性能优化的时候,这个是很重要的,先把最耗时的若干个操作优化好,程序的整体性能提升应该十分明显,这也是做性能优化的一个最为基本的原则—先优化最耗时的。

——————————————————————

SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密通道。关于更多SSL证书的资讯,请关注数安时代(GDCA)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。

猜你喜欢

转载自blog.csdn.net/trustauth/article/details/80609482
今日推荐