加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

了解 Redis 列表基本原理

发布时间:2021-01-31 15:54:59 所属栏目:外闻 来源:互联网
导读:2)Hotpots Hotspots分析可以了解应用程序流程,并确定获得大量执行时间的代码段(热点),这是用户进行算法分析的起点。热点分析有两种基于采样的收集模式:用户模式采样会产生更高的开销,但不需要采样驱动程序即可进行收集;基于硬件事件的采样,可以提供最小

2)Hotpots

Hotspots分析可以了解应用程序流程,并确定获得大量执行时间的代码段(热点),这是用户进行算法分析的起点。热点分析有两种基于采样的收集模式:用户模式采样会产生更高的开销,但不需要采样驱动程序即可进行收集;基于硬件事件的采样,可以提供最小的收集开销,但需要安装采样驱动程序或Perf。在用户模式采样中,收集器不会收集系统范围内的性能数据,而是只关注您的应用程序。硬件基于事件的采样模式是基于硬件基于事件的采样收集,分析当前系统上运行的所有进程,提供关于整个系统性能的CPU时间数据。

在进行Hotspots分析后,可以查看Bottom-up视图下的热点函数,双击函数即可对源码以及汇编代码进行分析。
 

  • Summary:显示有关整个应用程序执行的统计信息,以分析CPU时间和处理器利用率。
  • Bottom-up:在自下而上的树中显示热点函数,每个函数的CPU时间和CPU利用率。
  • Top-down Tree:显示调用树中的热点函数,仅函数的性能指标(不包括子函数)以及函数及其子函数的总性能指标。
  • Caller/Callee:显示所选函数的父函数和子函数。
  • Platform:提供有关CPU和GPU利用率,帧速率,内存带宽和用户任务的详细信息。

(1)Performance Snapshot

该功能模块能够对应用程序进行总体的分析(图4),包括IPC、GFLOPS、CPU频率、CPU核心利用率、微架构使用率、内存使用率等指标等,但只能给出一个总体的数值,要分析各个函数对CPU的占用时间等详细数值要进行更加详细的分析,一般进行性能分析时,首先进行这个模块的分析。
 

火焰图使用SVG的图像格式进行存储,方便用户与图像进行交互。火焰图中的函数方块的长度越长,那么表示执行该函数的CPU时间越长。火焰图的底部为父函数,上方为它的子函数。通过火焰图的形式,函数调用的关系以及CPU占用比都更加直观地呈现出来。

3.3 VTune

VTune是 Intel 公司开发的的一个功能十分强大的应用程序性能分析软件,包括寻找软件性能热点、线程性能检测、CPU利用率、IO负载监测等功能,还提供丰富的UI界面供用户操作,简单易上手。

VTune提供了本地连接、远程连接、安卓设备连接等多种方式来对不同的应用程序进行测试,还提供Performance Snapshot、Hotpots、Microarchitecture Exploration、Threading和IO等不同方面的性能分析模块(图3)。
 

中第一列表示函数的子函数执行占用的CPU比例,第二列表示函数执行占用的CPU比例,第三列表示函数所在的DSO,第四列表示函数名。通过使用perf工具,可以方便地得到定位程序的热点代码,以指导程序性能瓶颈的优化。

但是这种结果查看函数之间的调用关系十分不方便,可以使用一些脚本生成火焰图(FlameGraph)来直观地表示函数调用关系。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读