一种性能瓶颈分析方法、装置、设备及存储介质制造方法及图纸

技术编号:36911233 阅读:65 留言:0更新日期:2023-03-18 09:29
本发明专利技术公开了一种性能瓶颈分析方法、装置、设备及存储介质,应用于性能分析领域,该方法应用于Power平台Linux系统,包括:获取并持续运行待性能瓶颈分析的应用;利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据;利用FlameGraph火焰图工具处理应用调用栈数据并生成火焰图svg文件;根据火焰图svg文件对应用进行性能瓶颈分析。本发明专利技术通过整合系统perf性能采集工具和FlameGraph火焰图工具,将perf性能工具采集的详细数据生成火焰图,不需要非常专业的技能,即可通过直观观察每个调用栈的栈顶函数方格的宽度,对应用的性能瓶颈进行分析。对应用的性能瓶颈进行分析。对应用的性能瓶颈进行分析。

【技术实现步骤摘要】
一种性能瓶颈分析方法、装置、设备及存储介质


[0001]本专利技术涉及性能分析领域,特别涉及一种性能瓶颈分析方法、装置、设备及存储介质。

技术介绍

[0002]Power平台Linux系统上集成有很多性能分析工具,比如:CPU(中央处理器Central Processing Unit,CPU)相关性能指标工具mpstat和sar;内存相关性能指标工具vmstat和free;I/O(Input/Output,计算机输入/输出接口)相关性能指标工具iostat和iotop;网络相关性能指标工具netstat和tcpdump;综合性能指标综合工具top和perf。但这些工具大多数是从操作系统角度分析CPU、内存、网络、I/O等资源瓶颈,对用户应用进程/线程视角的分析功能有限,有部分工具(如perf工具)能采集完整的用户应用进程/线程性能数据,但生成报告后都是复杂的文本格式,可读性较差,即使是有较强专业的功底的技术人员从中分析性能瓶颈也会费时费力。
[0003]在Power平台Linux系统上,性能采集perf工具虽然功能强大,但生成报告后都是复杂的文本格式,可读性较差。用单一perf工具采集和分析性能瓶颈,即使是有较强专业的功底的技术人员从中分析性能瓶颈也会费时费力。
[0004]本专利技术中专业词汇解释如下:
[0005]Power平台Linux系统:基于Power处理器的服务器上运行的各种Linux操作系统。
[0006]mpstat工具:mpstat是Multiprocessor Statistics的缩写,是实时监控工具,报告CPU的一些统计信息,这些信息都存在文件中,在多CPU系统里,其不但能查看所有的CPU的平均状况的信息,而且能够有查看特定的CPU信息。
[0007]sar工具:sar是System Activity Reporter系统活动情况报告的缩写,是Linux上系统性能分析工具,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
[0008]vmstat工具:可以展现指定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况和I/O读写情况。
[0009]free工具:用于显示系统内存的使用情况,包括物理内存、交换内存和内核缓冲区内存。
[0010]iostat工具:用于监控系统设备的I/O负载情况,iostat首次运行时会显示自系统启动开始的各项统计信息,用户可以通过指定统计的次数和时间来获得所需的统计信息。
[0011]iotop工具:用于监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。
[0012]netstat工具:用于列出系统上所有的网络套接字连接情况,还可以列出处于监听状态(即等待接入请求)的套接字。
[0013]tcpdump工具:用于允许抓取和分析经过系统的流量数据包。
[0014]top工具:用于显示进程所占系统资源,能够实时显示系统中各个进程的资源占用
状况。
[0015]perf工具:用于进行软件性能分析的工具,可以分析指定应用程序的性能问题,也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。

技术实现思路

[0016]有鉴于此,本专利技术的目的在于提供一种性能瓶颈分析方法、装置、设备及存储介质,解决了现有技术中性能瓶颈分析报告可读性差的问题。
[0017]为解决上述技术问题,本专利技术提供了一种性能瓶颈分析方法,包括:
[0018]获取待性能瓶颈分析的应用,持续运行所述应用;
[0019]利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据;
[0020]利用FlameGraph火焰图工具处理所述应用调用栈数据并生成火焰图svg文件;
[0021]根据所述火焰图svg文件对所述应用进行性能瓶颈分析。
[0022]可选的,所述利用perf工具采集得到perf.data性能数据,包括:
[0023]当所述应用存在性能问题时,执行所述利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据的步骤。
[0024]可选的,所述根据所述火焰图svg文件对所述应用进行性能瓶颈分析,包括:
[0025]利用浏览器打开所述火焰图svg文件,直观分析所述应用的性能瓶颈。
[0026]可选的,利用所述perf工具对所述perf.data性能数据进行提取折叠得到应用调用栈数据,包括:
[0027]利用所述perf工具对所述perf.data性能数据进行提取折叠得到用户多进程/多线程应用对CPU资源的消耗信息、用户多进程/多线程应用对IO资源的消耗信息、用户多进程/多线程应用的锁争用信息、用户多进程/多线程应用的锁等待信息、应用调用栈之间的依赖关系信息、消耗时间信息、应用调用栈之间的先后关系信息。
[0028]可选的,所述利用FlameGraph火焰图工具处理所述应用调用栈数据并生成火焰图svg文件,包括:
[0029]利用所述FlameGraph火焰图工具中的堆栈拆分工具处理所述应用调用栈数据;
[0030]利用所述FlameGraph火焰图工具中的生成工具生成所述火焰图svg文件。
[0031]本专利技术还提供了一种性能瓶颈分析装置,应用于Power平台Linux系统,包括:
[0032]获取模块,用于获取待性能瓶颈分析的应用,持续运行所述应用;
[0033]采集提取模块,用于利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据;
[0034]火焰图生成模块,用于利用FlameGraph火焰图工具处理所述应用调用栈数据并生成火焰图svg文件;
[0035]分析模块,用于根据所述火焰图svg文件对所述应用进行性能瓶颈分析。
[0036]可选的,所述分析模块,包括:
[0037]分析单元,用于利用浏览器打开所述火焰图svg文件,直观分析所述应用的性能瓶颈。
[0038]可选的,所述采集提取模块,包括:
[0039]采集提取单元,用于当所述应用存在性能问题时,执行所述利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据的步骤。
[0040]本专利技术还提供了一种性能瓶颈分析设备,包括:
[0041]存储器,用于存储计算机程序;
[0042]处理器,用于执行所述计算机程序时实现上述的性能瓶颈分析方法的步骤。
[0043]本专利技术还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的性能瓶颈分析方法的步骤。
[0044]可见,本专利技术应用于Power平台Linux系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能瓶颈分析方法,其特征在于,应用于Power平台Linux系统,包括:获取待性能瓶颈分析的应用,持续运行所述应用;利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据;利用FlameGraph火焰图工具处理所述应用调用栈数据并生成火焰图svg文件;根据所述火焰图svg文件对所述应用进行性能瓶颈分析。2.根据权利要求1所述的性能瓶颈分析方法,其特征在于,所述利用perf工具采集得到perf.data性能数据,包括:当所述应用存在性能问题时,执行所述利用perf工具采集得到perf.data性能数据,并进行提取折叠得到应用调用栈数据的步骤。3.根据权利要求1所述的性能瓶颈分析方法,其特征在于,所述根据所述火焰图svg文件对所述应用进行性能瓶颈分析,包括:利用浏览器打开所述火焰图svg文件,直观分析所述应用的性能瓶颈。4.根据权利要求1所述的性能瓶颈分析方法,其特征在于,利用所述perf工具对所述perf.data性能数据进行提取折叠得到应用调用栈数据,包括:利用所述perf工具对所述perf.data性能数据进行提取折叠得到用户多进程/多线程应用对CPU资源的消耗信息、用户多进程/多线程应用对IO资源的消耗信息、用户多进程/多线程应用的锁争用信息、用户多进程/多线程应用的锁等待信息、应用调用栈之间的依赖关系信息、消耗时间信息、应用调用栈之间的先后关系信息。5.根据权利要求1所述的性能瓶颈分析方法,其特征在于,所述利用FlameGraph火焰图工具处理所述应...

【专利技术属性】
技术研发人员:李松青
申请(专利权)人:浪潮商用机器有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1