性能分析工具课堂笔记—第二讲:手把手带你找出程序中加锁范围不合理的代码
收藏回复举报
性能分析工具课堂笔记—第二讲:手把手带你找出程序中加锁范围不合理的代码
发表于2022-11-30 23:05:21
0 查看

课程目的:

本课程主要通过性能分析工具实操,使能开发者了解基本的系统调优知识,学习使用系统性能分析工具对一个程序进行性能问题定位及优化处理。


一 如何学习性能优化

首先,明确性能指标的概念

高并发”和“响应快”对应着性能优化的两个核心指标-“吞吐”和“延时”这两个指标是从应用负载的视角来考察性能
从系统资源的视角出发的指标,比如资源使用率、饱和度

其次,想要学习好性能分析和优化,建立整体系统性能的全局观是最核心的话题。需要做到以下几点:

  • 理解最基本的几个系统知识原理 (cpu、内存、存储l0、网络IO) ;
  • 掌握必要的性能工具;
  • 通过实际的场景演练,贯穿不同的组件。

动态追踪工具DTrace的作者,性能领域的大师布伦丹·格雷格(Brendan Gregg)描绘的 Linux性能工具图谱:

cke_23528.png

二 安装DevKit性能分析工具

去鲲鹏性能分析工具下载页面下载对应安装包 https://www.hikunpeng.com/developer/devkit/hyper-tuner/download?tab=0
根据指导进行安装 https://www.hikunpeng.com/document/detail/zh/kunpengdevps/hypertuner/usermanual/kunpenghypertuner 06 0004.html 

三 准备工作

申请资源,登录网页版本的工具地址

cke_47171.png

鲲鹏性能分析工具的组成部分:

系统性能分析

在软件运行状态下,通过采集系统数据,可视化分析出系统性能指标,精准定位到瓶颈点及热点函数,提供一站式分析报告、多维度数据关联及优化建议。

java性能分析针对服务器上运行的Java程序,图形化显示Java程序的堆、线程、锁、垃圾回收等信息,收集热点函数,定位性能瓶颈点,帮助用户采取针对性优化
系统诊断针对基于鲲鹏的服务器的性能分析工具,提供内存泄漏诊断(包括内存未释放和异常释放)、内存越界诊断、内存消耗信息分析展示、OOM诊断能力,帮助用户识别出源代码中内存使用的问题点,提升程序的可靠性;压测网络,获得网络最大能力,为网络IO性能优化提供基础参考数据;诊断网络,定位网络疑难问题,解决因网络配置和异常而导致的网络IO性能问题;压测存储IO,获得存储设备最大能力,包括:吞吐量、IOPS、时延等,并以此评估存储能力,为存储IO性能优化提供基础参考数据。
调优助手针对基于鲲鹏的服务器的调优工具,能系统化组织性能指标,引导用户分析性能瓶颈,实现快速调优。

本帖最后由 匿名用户 于 2023/11/20 17:16:54 编辑

我要发帖子