0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevKit系统性能分析工具有哪些功能

7riU_gh_3a181fa 来源:华为计算 作者:华为计算 2021-12-07 10:55 次阅读

为什么需要性能调优?

你有没有在手机、PC上玩网游、看高清视频的时候,抱怨过“太慢了”、“好卡”?

大多数人会把这些影响体验的问题归结到“网速太慢”上,除此之外还有个更重要的根因,就是系统性能瓶颈问题所致,倘若你换一台配置更高、内存更大、性能更好的设备玩游戏,上述问题马上就能迎刃而解。

同样的问题也存在于服务器上,作为千行百业的数字化基础设施,服务器承载了大量复杂的行业应用,支撑着数字社会的高效运转。因此,服务器要面临的各种瓶颈挑战更多也更大。普通用户可以通过更换手机这种简单粗暴的方式来提升游戏体验,对于服务器这种昂贵的设备来说显然不合适。

事实上即使更换了更好的设备,依然可能再次出现性能瓶颈,这是因为系统性能往往是多方面的,包括服务器硬件(如CPURAM)、应用软件(Web服务器、数据库等)、应用程序、操作系统网络设备等众多配置和指标的合集,某一个指标出现问题,都可能导致系统运行缓慢。这时候,我们更需要的其实是“系统性能调优”。

什么是系统性能调优呢?

简单的说就是综合、全面的了解系统硬件、操作系统和应用软件的相关信息,分析其配置和运行情况,调节各模块之间的系统资源占用关系,实现整个系统的性能最大化,从而不断的满足业务需求。

性能分析是一项复杂的系统化的工作,业界有非常多的性能分析小工具,专业分析系统各模块的性能,然而众多工具的使用不仅带来大量的学习成本、分析效率低下,更重要的是数据不能互通,无法全局分析,并且需要依靠非常娴熟的经验才能针对各模块的问题进行调优。开发者亟需更加全面、专业、智能化的系统调优工具。

DevKit系统性能分析工具是什么?

DevKit性能分析工具正是为了满足上述需求而设计,DevKit性能分析工具是一个工具集,包含:系统性能分析工具、JAVA性能分析工具、系统诊断工具,本文将重点介绍系统性能分析工具。

系统性能分析工具

系统性能分析工具主要针对服务器系统(包括:硬件、OS、应用软件等)进行性能分析,能收集服务器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析得出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议,辅助用户快速定位和处理软件性能问题。相对业界性能分析工具,该工具主要增强实现如下能力:

提供软硬件结合分析能力,采集和分析硬件性能指标,以及硬件性能在软件层的表现,让用户更加全面的了解整个系统的运行状况。

系统化的分析建立各层指标之间的关联关系、并以用户视角呈现这些指标和关系,方便用户更易于发现问题。

结合华为在鲲鹏处理器上的性能优化经验,给出优化思路和建议,帮忙用户快速定位和修复问题。

DevKit系统性能分析工具有哪些功能?

系统性能分析工具提供3大模块9大主要功能:

通用分析:采集和分析整个系统的软硬件配置信息、识别性能瓶颈,针对异常指标项提供优化建议(包含全景、进程/线程和热点函数分析);

系统部件分析:针对系统主要部件(如:处理器、内存、存储等)暴露的硬件指标,结合系统软件运行指标,分析各部件的性能瓶颈(包含微架构、访存和I/O分析);

专项分析:针对特定性能问题进行专题分析(包含资源调度、锁与等待和HPC分析)。其中全景分析、热点函数分析、资源调度分析是开发者最常使用的分析场景,本文将对这些功能做详细介绍。

全景分析——全面掌握系统配置和整体性能

通过采集系统软硬件配置信息,以及系统的CPU、内存、存储IO、网络IO等资源的运行情况,获得对应的使用率、饱和度、错误次数等指标,以此识别系统性能瓶颈。针对部分系统指标项,将根据当前已有的基准值和优化经验提供优化建议。

Figure 2 系统硬件拓扑图及其配置

支持展示服务器系统及其各个子系统的拓扑结构及其配置。方便用户快速了解系统配置,及是否存在配置不合理的点,例如:内存条配置位置不合理。

Figure 3 系统性能指标

基于USE性能分析方法,针对系统CPU、内存、磁盘IO、网络IO等资源的运行情况,获得它们的使用率、饱和度、错误等指标,以此识别系统瓶颈。

综合分析系统性能和系统配置情况,给出检测到的性能瓶颈点,并给出优化建议和修改方法。

Figure 4 解决方案场景软硬件配置及其优化建议

针对大数据、数据库、分布式存储场景的硬件配置、系统配置和组件配置进行检查并显示不是最优的配置项,同时分析给出典型硬件配置及软件版本信息。

热点函数分析——直接定位到C/C++程序代码瓶颈点

支持分析C/C++程序代码识别性能瓶颈,给出对应的热点函数以及源码和汇编指令的信息。通过冷/热火焰图展示函数的调用关系,发现优化路径。

Figure 5 热点函数/模块及其优化建议

分析给出系统和应用的Top热点函数和热点模块,并给出优化建议,其中针对华为优化或实现的基础库、数据库等会给出详细的优化说明和下载链接。

Figure 6 热点指令及其源码

针对热点函数可以关联到它的汇编指令和源码,并且明确标识出热点指令或热点代码块,用户可以直接针对优化。

Figure 7热点函数及其调用栈

资源调度分析——跟踪CPU核和进程状态切换情况

基于CPU调度事件分析系统资源调度情况,包括:CPU核在各个时间点的运行状态、进程/线程在各个时间点的运行状态、进程/线程状态切换情况等,用户根据这些信息可以分析进程/线程是否存在大量的系统调用、不合理的锁或同步等,以此找到优化点。

Figure 8 进程/线程切换信息

分析进程/线程调度信息,识别线程是否频繁上下文切换、CPU是否能及时调度等性能问题。分析进程/线程在NUMA节点的切换情况,对于频繁切换,给出绑核优化建议。

Figure 9 CPU核运行状态

分析CPU核在各个时间点的运行状态,如:idle、running等。如果是running状态,能关联在CPU核上运行的进程/线程信息。支持高亮显示某个线程在各个CPU核上的运行情况。

Figure 10 进程/线程运行状态

分析进程/线程在各个时间点的运行状态,如:wait_blocked、wait_for_cpu和running,能方便识别频繁上下文切换的线程。

DevKit性能分析工具还有哪些能力?

鲲鹏开发套件DevKit是面向开发者研发全作业流程的一站式开发套件,从2019年推出至今,提供了覆盖代码开发、迁移、编译、测试、调优、诊断等研发全作业流程的工具集,助力开发者极简开发。

其中DevKit性能分析工具支持鲲鹏平台上的系统性能分析、Java性能分析和系统诊断提供系统全景及常见应用场景下的性能采集和分析功能,并基于调优专家系统给出优化建议。同时提供调优助手,指导用户快速调优系统性能。

本文所介绍的系统性能分析仅是DevKit性能分析工具的主要能力之一,为了便于广大开发者们更加真实的体验、使用上述功能,DevKit还提供远程实验室,一站式预装DevKit开发环境,申请即可免费试用。

原文标题:【DevKit黑科技揭秘】│深入浅出DevKit性能调优,让系统“瓶颈”无处遁形

文章出处:【微信公众号:华为计算】欢迎添加关注!文章转载请注明出处。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9158

    浏览量

    85411
  • 操作系统
    +关注

    关注

    37

    文章

    6821

    浏览量

    123327
  • 硬件
    +关注

    关注

    11

    文章

    3325

    浏览量

    66217
  • DevKit
    +关注

    关注

    0

    文章

    8

    浏览量

    7706

原文标题:【DevKit黑科技揭秘】│深入浅出DevKit性能调优,让系统“瓶颈”无处遁形

文章出处:【微信号:gh_3a181fa836b6,微信公众号:华为计算】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    集成电路电磁兼容性及应对措施相关分析(一) 电子系统性能要求与ESD问题

    此专题将从三个方面来分享:一、电子系统性能要求与ESD问题二、集成电路ESD问题应对措施三、集成电路ESD测试与分析工业、消费及汽车电子模块开发的EMC问题会导致极高的开发成本和时间浪费。在开发过程中,为了解决EMC问题,需要投入大量的
    的头像 发表于 12-19 18:51 202次阅读
    集成电路电磁兼容性及应对措施相关<b class='flag-5'>分析</b>(一) 电子<b class='flag-5'>系统性能</b>要求与ESD问题

    集成电路电磁兼容性及应对措施相关分析(一) — 电子系统性能要求与ESD问题

    此专题将从三个方面来分享: 一、电子系统性能要求与ESD问题 二、集成电路ESD问题应对措施 三、集成电路ESD 测试与分析 工业、消费及汽车电子模块开发的 EMC 问题会导致极高的开发成本和时间
    的头像 发表于 12-17 09:24 139次阅读
    集成电路电磁兼容性及应对措施相关<b class='flag-5'>分析</b>(一) — 电子<b class='flag-5'>系统性能</b>要求与ESD问题

    单臂螺旋天线:提升无线通信系统性能的关键

    深圳探测器|单臂螺旋天线:提升无线通信系统性能的关键
    的头像 发表于 12-02 09:05 218次阅读

    PCIe延迟对系统性能的影响

    随着技术的发展,计算机系统性能的要求越来越高。PCIe作为连接处理器、内存、存储和其他外围设备的关键接口,其性能直接影响到整个系统的表现。PCIe延迟,作为衡量数据传输效率的重要指标
    的头像 发表于 11-26 15:14 397次阅读

    使用Arthas火焰图工具的Java应用性能分析和优化经验

    分享作者在使用Arthas火焰图工具进行Java应用性能分析和优化的经验。
    的头像 发表于 10-28 09:27 272次阅读
    使用Arthas火焰图<b class='flag-5'>工具</b>的Java应用<b class='flag-5'>性能</b><b class='flag-5'>分析</b>和优化经验

    稳态误差反映了系统的什么性能

    稳态误差是控制系统中一个重要的性能指标,它反映了系统在达到稳态时,输出与期望值之间的差异。在控制系统的设计和分析中,稳态误差的
    的头像 发表于 07-29 10:52 1167次阅读

    用MXO5系列示波器精确测量和分析传动系统的方案

    和技术人员能够深入研究传动系统的复杂机制,从而提高传动系统性能和效率。您的任务传动系统性能表征是多方面的,确保了无缝集成和最佳功能。在传动
    的头像 发表于 07-13 08:31 357次阅读
    用MXO5系列示波器精确测量和<b class='flag-5'>分析</b>传动<b class='flag-5'>系统</b>的方案

    数据分析工具有哪些

    数据分析是一个涉及收集、处理、分析和解释数据以得出有意义见解的过程。在这个过程中,使用正确的工具至关重要。以下是一些主要的数据分析工具,以及
    的头像 发表于 07-05 14:54 856次阅读

    CAN总线测试工具的主要功能

    功能。 (2)高速数据捕获能力: 这些工具通常具有高速数据捕获能力,能够实时、准确地捕获CAN总线上的数据。
    的头像 发表于 06-25 16:02 1065次阅读

    三菱PLC扫描周期对控制系统性能的影响

    同样具有不可忽视的作用。本文将从扫描周期的定义、影响因素、对控制系统性能的具体影响以及优化方法等方面进行详细阐述,以期为读者提供深入的理解和认识。
    的头像 发表于 06-18 10:02 1380次阅读

    性能测试的实现方法是什么

    、分类、测试流程、测试工具和最佳实践。 一、性能测试的目的 评估系统性能性能测试可以帮助开发团队评估软件系统在不同负载下的
    的头像 发表于 05-29 15:44 617次阅读

    TRIZ如何在机器人电机控制设计中提高系统性能

    作为机器人的核心部件之一,电机控制系统性能直接决定了机器人的运动性能、响应速度以及工作效率。因此,提升机器人电机控制设计的系统性能一直是工程师们追求的目标。近年来,TRIZ(发明问题
    的头像 发表于 03-11 15:41 413次阅读

    网络监控工具有哪些 网络监控用几芯网线

    网络监控工具有很多种,根据不同的监控目标和需求,可以选择适合的监控工具。下面将介绍一些常见的网络监控工具,并对其功能和特点进行详细的介绍。 网络流量监控
    的头像 发表于 01-24 10:00 1082次阅读

    Flyover电缆系统性能分析

    Samtec的Flyover电缆系统旨在将信号从印刷电路板上取下,以改善信号完整性、提高设计灵活性并优化散热性能
    的头像 发表于 01-17 10:23 467次阅读
    Flyover电缆<b class='flag-5'>系统性能</b><b class='flag-5'>分析</b>

    电驱动系统性能集成化分析

    对于电驱系统的仿真分析,传统方法是将不同的结构分割,然后再分领域的进行设计仿真分析。不同的仿真分析之间相互独立,系统级集成往往在后期阶段完成
    的头像 发表于 01-16 15:05 744次阅读
    电驱动<b class='flag-5'>系统性能</b>集成化<b class='flag-5'>分析</b>