系统性能分析-Java混合模式分析
Java混合模式分析支持分析Java程序代码,找出性能瓶颈点,给出对应的热点函数;支持通过火焰图展示函数的调用关系,给出优化路径不仅能采集到Java 方法,同时还能采集到Java代码。 Step 1 在已创建的工程下,选择“应用->Java混合模式分析”, 配置相关参数。 Step 2 创建分析任务后可以选择“立即执行”,或者根据应用程序的启动情况,后续手动启动分析任务。Java混合模式分析-查看分析结果总览
直观展示整体统计信息、平台信息、Top10热点函数。Java混合模式分-查看函数信息
采用不同维度展示函数的执行信息和调用栈信息。Java混合模式分析-查看火焰图
火焰图能够直观展示函数调用关系和执行时间情况,帮助发现热点函数及其优化路径。焰图就是看顶层的哪个函数占据的宽度最大。只要有 “平顶”,就表示该函数可能存在性能问题。颜色没有特殊含义,因为火焰图表示的是CPU的繁忙程度,所以一般选择暖色调。Java性能分析-添加Guardian
进行调优前,需要先将Guardian添加在对应服务器上,添加之后,可以选择对应的Java进程进行实时性能分析或者采样性能分析。 Step 1 单击首页界面“Guardian”区域中的+图标。 Step 2 配置Guardian参数后,单击“确认”。 Step 3 在确认对话框中单击“确认”。指纹为要部署Guardian的服务器的SSH公钥指纹。Java性能分析-Profiling分析
Profiling分析包含对于目标JVM和Java程序的双重分析。包括Java虚拟机的内部状态,如Heap、GC活动、线程状态及上层Java程序的性能分析,如调用链分析、热点函数、锁分析、程序线程状态及对象生成分布等。通过Agent的方式实时获取JVM运行数据,进行精确分析。 Step 1 在已添加的Guardian下,选择指定的Java进程,单击“Profiling分析”。Java性能分析-Profiling分析
实时Java虚拟机系统状态显示-如图示例1
实时显示JVM的Heap大小、GC活动、Thread数量、Class加载数量和CPU使用率。Java进程/线程性能分析-如图示例2
程序线程状态及锁分析:当前JVM中实时的活动线程的状态。同时提供获取当前线程转存,根据线程转存图形化显示线程锁定状态,分析线程死锁情况。程序所用堆积对象分析:获取Java堆中各个对象创建的数量及大小,显示相关内存使用情况并实时刷新。上层应用workload相关分析-如图示例3
Workload分析主要指通过动态修改上层应用代码并埋下hook来收集特定的应用相关性能数据,通过workload分析,可以收集并定位用户关心的特定代码的 工作性能。Workload分析包括以下功能:JDBC热点SQL分析:记录应用中的SQL调用时间和耗时,帮助找出耗时最长及总用时最多的热点SQL。HTTP请求分析:记录应用中的HTTP请求时间和耗时,找出热点HTTP请求。
Profiling分析-示例1 查看实时Java虚拟机系统状态
实时显示JVM的Heap大小、GC活动、Thread数量、Class加载数量和CPU使用率。Profiling分析-示例2 查看Java进程/线程性能分析结果
显示当前JVM中实时的活动线程的状态。同时提供获取当前线程转储,根据线程转储,图形化显示线程锁定状态,分析线程死锁情况Profiling分析-示例3 查看上层应用JDBC热点SQL分析结果
分析热点SQL,系统将记录应用中的SQL调用时间和耗时,帮助找出热点SQL。Profiling分析-示例3 查看上层应用HTTP请求分析结果
分析热点HTTP请求,系统以请求URI和HTTP请求方法分类记录、统计应用中的HTTP请求时间和耗时,找出热点HTTP请求。Sampling分析通过采样的方式,收集JVM的内部活动/性能事件,通过录制及回放的方式来进行离线分析。这种方式对系统的额外开销很小,对业务影响不大,适用于大型的Java程序。
Step 1 在已添加的Guardian下,选择指定的Java进程,单击“Sampling分析”。 Step 2 配置任务参数后,单击“确认”。Java性能分析-Sampling分析
分析结果主要包括:Java虚拟机系统状态显示-如图示例1
Java进程/线程性能分析-如图示例2
程序线程状态及锁分析:录制时间内的线程的状态变化。同时提供获取当前线程转储,根据线程转储,图形化显示线程锁定状态,分析线程死 锁情况。
程序所用堆积对象分析:录制时间内Java堆中各个对象创建的数量及大小。通过采样数据,分析估计线程阻塞对象和阻塞时间。函数性能分析-如图示例3
Sampling分析-示例1 查看Java虚拟机系统状态
显示Java的GC配置、Heap大小变化以及GC事件发生情况。通过观察Heap变化、GC活动频率和暂停时间,分析和调整当前的GC策略。Sampling分析-示例2 查看Java进程/线程分析结果
如果目标系统某个线程运行缓慢,用户可以查看Java线程在锁实例上阻塞情况,诊断问题发生的可能原因。Sampling分析-示例3 查看函数性能分析结果
方法采样页用火焰图和调用栈树图展示了Java方法和Native方法调用情况,可以帮助用户分析热点函数。导入导出分析记录
通过导入导出功能,便于转移分析记录。 Step 1 单击工具右侧的Profiling/Sampling分析记录“导 出” 按钮,将分析记录导出到本地。 Step 2 单击工具右侧的Profiling/Sampling分析记录“导入” 按钮,将本地的分析记录导入到分析工具中。
鲲鹏开发套件一指禅丨鲲鹏性能分析工具操作指导(一)
鲲鹏应用使能套件Kunpeng BoostKit系列课程/ 第六期 华为鲲鹏计算web应用解决方案介绍
鲲鹏展翅丨山西中网-检察法律监督平台1.0通过鲲鹏兼容性认证
鲲鹏高校行太原站来袭,两大课程一站式掌握未来潮流
鲲鹏开发套件一指禅丨鲲鹏代码迁移工作操作指导
鲲鹏应用使能套件Kunpeng BoostKit系列课程/ 第五期 华为鲲鹏计算加速库介绍

关于我们
山西云时代鲲鹏生态创新中心有限公司作为山西鲲鹏创新中心运营公司,立足综改区,承担山西省鲲鹏生态创新产业培育任务,服务全省鲲鹏生态创新产业发展,辐射中西部的鲲鹏计算产业生态圈,助推数字山西建设发展,打造全国信创产业生态新高地。