华为鲲鹏 Java 性能优化工具 用户指南 文档版本 01 发布日期 2020-02-29 华为技术有限公司
华为鲲鹏 Java 性能优化工具
用户指南
文档版本 01
发布日期 2020-02-29
华为技术有限公司
版权所有 © 华为技术有限公司 2020。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明
和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129
网址: https://www.huawei.com
客户服务邮箱: [email protected]
客户服务电话: 4008302118
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 i
前言
概述本文档介绍了获取Java性能优化工具安装包,以及对其进行安装、卸载、使用的方法,对Java性能优化工具的Web界面及各项子功能做了详细介绍。
读者对象本文档主要适用于以下人员:
● 华为鲲鹏平台的开发者
● 华为鲲鹏平台的软件用户
● ISV开发者
符号约定在本文中可能出现下列标志,它们所代表的含义如下。
符号 说明
表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。
表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。
表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。
用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。
“须知”不涉及人身伤害。
对正文中重点信息的补充说明。
“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。
华为鲲鹏 Java 性能优化工具用户指南 前言
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 ii
修改记录
文档版本 发布日期 修改说明
01 2020-02-29 第一次正式发布。
工具发布版本
V2.1.1
华为鲲鹏 Java 性能优化工具用户指南 前言
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 iii
目 录
前言................................................................................................................................................. ii
1 介绍..............................................................................................................................................11.1 华为鲲鹏 Java 性能优化工具简介........................................................................................................................................ 11.2 相关概念......................................................................................................................................................................................31.3 应用场景......................................................................................................................................................................................31.4 部署方式......................................................................................................................................................................................31.5 实现原理......................................................................................................................................................................................41.6 访问和使用................................................................................................................................................................................. 5
2 安装 Java 性能优化工具............................................................................................................ 62.1 环境要求......................................................................................................................................................................................62.2 安装准备......................................................................................................................................................................................92.3 安装包校验................................................................................................................................................................................. 92.4 CentOS/EulerOS/中标麒麟系统下安装 Java 性能优化工具......................................................................................... 92.5 SUSE 系统下安装 Java 性能优化工具............................................................................................................................... 112.6 Debian/Ubuntu/深之度/凝思系统下安装 Java 性能优化工具...................................................................................132.7 验证............................................................................................................................................................................................ 162.8 卸载............................................................................................................................................................................................ 16
3 登录 Java 性能优化工具 Web 界面........................................................................................ 18
4 界面说明....................................................................................................................................21
5 添加 Guardian......................................................................................................................... 24
6 Profiling分析.......................................................................................................................... 276.1 创建 Profiling分析任务........................................................................................................................................................ 276.2 查看分析结果...........................................................................................................................................................................286.3 停止 Profiling分析................................................................................................................................................................ 36
7 Sampling 分析.........................................................................................................................387.1 创建 Sampling 分析任务...................................................................................................................................................... 387.2 查看分析结果...........................................................................................................................................................................427.3 管理 Sampling 分析记录...................................................................................................................................................... 50
8 管理 Guardian......................................................................................................................... 538.1 修改 Guardian.........................................................................................................................................................................53
华为鲲鹏 Java 性能优化工具用户指南 目 录
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 iv
8.2 删除 Guardian.........................................................................................................................................................................56
9 管理用户....................................................................................................................................589.1 创建用户................................................................................................................................................................................... 589.2 修改用户................................................................................................................................................................................... 609.3 删除用户................................................................................................................................................................................... 619.4 查看用户管理日志.................................................................................................................................................................. 629.5 修改当前登录用户密码......................................................................................................................................................... 64
10 查看操作日志..........................................................................................................................65
11 工具发布信息查询.................................................................................................................. 67
12 FAQ......................................................................................................................................... 6812.1 如何修改 https/gunicorn 端口......................................................................................................................................... 6812.2 如何修改 Java 性能优化工具内部模块通讯端口......................................................................................................... 6912.3 如何查看日志........................................................................................................................................................................ 6912.4 软件包完整性校验返回 WARNING 或 FAIL.................................................................................................................. 7012.5 华为鲲鹏性能优化工具安装命令格式.............................................................................................................................7212.6 华为鲲鹏性能优化工具卸载命令格式.............................................................................................................................7312.7 如何修改登录用户数量限制.............................................................................................................................................. 73
A 附录........................................................................................................................................... 75A.1 术语........................................................................................................................................................................................... 75A.2 缩略语....................................................................................................................................................................................... 75
华为鲲鹏 Java 性能优化工具用户指南 目 录
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 v
1 介绍
1.1 华为鲲鹏Java性能优化工具简介
1.2 相关概念
1.3 应用场景
1.4 部署方式
1.5 实现原理
1.6 访问和使用
1.1 华为鲲鹏 Java 性能优化工具简介Java性能优化工具是华为鲲鹏性能优化工具的子工具。
Java性能优化工具是针对TaiShan服务器上运行的Java程序的性能分析和优化工具,能图形化显示Java程序的堆、线程、锁、垃圾回收等信息,收集热点函数、定位程序瓶颈点,帮助用户采取针对性优化。
Java性能优化工具支持的功能特性如下:
1. 实时Java性能分析
实时Java性能分析包含对于目标JVM和Java程序的双重分析。包括Java虚拟机的内部状态,如Heap、GC活动、线程状态及上层Java程序的性能分析,如调用链分析、热点函数、锁分析、程序线程状态及对象生成分布等。
通过agent的方式实时获取JVM运行数据,进行精确分析。主要功能包含:
a. 实时Java虚拟机系统状态显示
实时显示JVM的Heap大小、GC活动、Thread数量、Class加载数量和CPU使用率。
b. Java进程/线程性能分析
i. 程序线程状态及锁分析:当前JVM中实时的活动线程的状态。同时提供获取当前线程转存,根据线程转存图形化显示线程锁定状态,分析线程死锁情况。
ii. 程序所用堆积对象分析:获取Java堆中各个对象创建的数量及大小,显示相关内存使用情况并实时刷新。
华为鲲鹏 Java 性能优化工具用户指南 1 介绍
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 1
c. 上层应用workload相关分析:
Workload分析主要指通过动态修改上层应用代码并埋下hook来收集特定的应用相关性能数据,通过workload分析,可以收集并定位用户关心的特定代码的工作性能。 Workload分析包括以下功能:
i. JDBC热点SQL分析:记录应用中的SQL调用时间和耗时,帮助找出耗时长及总用时 多的热点SQL。
ii. HTTP请求分析:记录应用中的HTTP请求时间和耗时,找出热点HTTP请求。
2. 采样性能分析
通过采样的方式,收集JVM的内部活动/性能事件,通过录制及回放的方式来进行离线分析。这种方式对系统的额外开销很小,对业务影响不大,适用于大型的Java程序。主要功能包括:
a. Java虚拟机系统状态显示
通过录制及回放的方式显示JVM的Heap大小、GC活动和CPU使用率。
b. Java进程/线程性能分析
i. 程序线程状态及锁分析:录制时间内的线程的状态变化。同时提供获取当前线程转存,根据线程转存,图形化显示线程锁定状态,分析线程死锁情况。
ii. 程序所用堆积对象分析:录制时间内Java堆中各个对象创建的数量及大小。
iii. 通过采样数据,分析估计线程阻塞对象和阻塞时间。
c. 函数性能分析
函数性能分析主要通过收集系统性能事件,通过离线分析来定位热点函数、调用链、调用占比等相关功能。函数性能分析包括以下功能:
i. Java及Native代码中的热点函数CPU cycle占比及定位。
ii. 支持通过火焰图查看热点函数及其调用栈。
基于上述功能,Java性能优化工具为程序开发时刻调优、集成压力测试时系统调优提供两种维度的性能优化视角,具体如图1-1所示。
图 1-1 性能优化视角
华为鲲鹏 Java 性能优化工具用户指南 1 介绍
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 2
1.2 相关概念
Profiling实时性能分析是一种应用程序动态分析方法。它用于分析应用程序在运行时刻,资源消耗在内部的分布、方法调用频度与耗时。该方法常用于辅助应用的性能瓶颈定位和性能调优。
Profling通过Insturment程序的类和方法,来计算特定代码所有的方法调用情况,可能对性能造成比较大的影响。
Sampling通过定期向目标程序获取JVM的运行数据。Sampling不需要修改应用程序的代码,对性能影响较小。因为通过定期采集数据的方式,精确度相对Profiling更低。
上层应用 WorkloadWorkload分析主要指通过动态修改上层应用代码并埋下hook来收集特定的应用相关性能数据,通过Workload分析,可以收集并定位用户关心的特定代码的工作性能。
1.3 应用场景客户Java应用软件在TaiShan服务器上运行时遇到性能问题时,可用Java性能优化工具来快速分析和定位。
1.4 部署方式当前版本支持灵活部署,即将华为鲲鹏性能优化工具所有组件部署在一台服务器上、不同服务器上及混合部署,完成性能数据采集和分析。
华为鲲鹏 Java 性能优化工具用户指南 1 介绍
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 3
1.5 实现原理
图 1-2 逻辑模型
Server:实现性能数据分析及分析结果呈现。
表 1-1 Server 模块介绍
模块名 功能
Web Browser Web浏览器,用于操作交互和数据呈现。
Web Server Web服务器。
System Management 提供用户管理、数据库存储空间管理、日志管理、采集分析任务管理等功能。
Data Process ● 对采集数据文件预处理。
● 提供性能分析数据接口。
Guardian Server ● 提供各个target host上的guardian安装、管理、连接和卸载功能。
● 提供实时streaming接口。
Guardian & Agent:实现性能数据采集。
表 1-2 Guardian 和 Agent 模块介绍
模块名 功能
Guardian 提供获取采集任务、采集文件存储空间管理、通信管理等功能。
华为鲲鹏 Java 性能优化工具用户指南 1 介绍
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 4
模块名 功能
JVMTI Agent ● 通过JVMTI收集性能信息。
● 完成对系统的性能数据采集,并保存到文件。
● 将文件通过socket接口上传到Analysis。
Java Instrument ● 通过Attach接口动态instrument代码。
● 传输性能数据至Analysis。
说明
Java性能优化工具只采集系统运行过程中的性能数据,不会采集用户数据,不会造成客户信息泄露。
1.6 访问和使用Java性能优化工具只支持通过Web UI访问,详细操作请参考3 登录Java性能优化工具Web界面。
华为鲲鹏 Java 性能优化工具用户指南 1 介绍
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 5
2 安装 Java 性能优化工具
2.1 环境要求
2.2 安装准备
2.3 安装包校验
2.4 CentOS/EulerOS/中标麒麟系统下安装Java性能优化工具
2.5 SUSE系统下安装Java性能优化工具
2.6 Debian/Ubuntu/深之度/凝思系统下安装Java性能优化工具
2.7 验证
2.8 卸载
2.1 环境要求
硬件要求
硬件要求如表2-1所示。
表 2-1 硬件要求
硬件类型 说明
服务器 ● TaiShan 100服务器
● TaiShan 200服务器
操作系统要求
操作系统要求如表2-2所示。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 6
表 2-2 操作系统要求
操作系统 版本
CentOS 7.6
EulerOS 2.8
中标麒麟 V7U5/V7U6
Debian 10
SUSE SLES 15.1
Ubuntu 18.04.1
凝思 6.0.90
深之度 15.2
运行环境要求
运行环境要求如表2-3所示。
表 2-3 运行环境要求
硬盘空间 配置建议
安装空间 工具默认安装在“/opt/tuning_kit”目录(可手动配置安装目录),建议安装空间至少规划1GB。
工作空间 用户的工作空间为工具安装目录,建议用户的工作空间至少规划100GB。
获取软件包
安装过程中所需软件包如表2-4所示。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 7
表 2-4 获取软件包
软件包名称 说明 获取方法
Tuning-Kit-release-x.x.x.tar.gz
华为鲲鹏性能优化工具软件包。
● 运营商用户:登录https://support.huawei.com网站,搜索软件包名称,下载您所需的版本软件安装包。
● 企业网用户:登录https://support.huawei.com/enterprise网站,搜索软件包名称,下载您所需的版本软件安装包。
● 鲲鹏社区:登录https://www.huaweicloud.com/kunpeng/software/tuningkit.html下载。
说明
软件包名称中的“x.x.x”表示版本号。
获取操作系统镜像文件
工具安装过程中需要操作系统镜像文件用于安装依赖包,所需操作系统镜像文件如表2-5所示。
说明
以下操作系统镜像文件名称仅供参考,请自行获取对应操作系统版本的镜像文件。
表 2-5 操作系统镜像
操作系统 版本 操作系统镜像文件名称
CentOS 7.6 CentOS-7-aarch64-Everything-1810.iso
EulerOS 2.8 EulerOS-V2.0SP8-aarch64-dvd.iso
中标麒麟 V7U5 nsV7Update5-adv-lic-build05-aarch64.iso
V7U6 nsV7Update6-adv-lic-build06-aarch64.iso
Debian 10 debian-10.1.0-arm64-xfce-CD-1.iso
SUSE SLES 15.1 SLE-15-SP1-Packages-aarch64-GM-DVD1.iso
Ubuntu 18.04.1 ubuntu-18.04.1-server-arm64.iso
深之度 15.2 deepin-server-15.2_20190703-B58_arm64.iso
凝思 6.0.90 Linx-6.0.90-20190802-arm64-DVD-1.iso
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 8
2.2 安装准备● 已准备用于安装Java性能优化工具的TaiShan 100/200服务器。
● 已安装操作系统,操作系统版本要求请参见表2-2。
● 已安装远程SSH登录工具,如Xshell、MobaXterm、PuTTY等。
● 安装Java性能优化工具的服务器上已安装JDK工具,JDK工具版本要求为Open JDK11。
● 被调试的服务器上已安装JDK工具,JDK工具版本要求为Huawei JDK 8或者OpenJDK 8/11。
● 被调试的服务器上已开启sshd。
2.3 安装包校验获取软件包后,需要校验软件包,确保与网站上的原始软件包一致。
校验方法:
步骤1 在工具下载页面,分别获取软件数字证书和软件。
步骤2 在如下链接中获取校验工具和校验方法:
https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054
步骤3 参见步骤2中下载的《OpenPGP签名验证指南》进行软件包完整性检查。
----结束
2.4 CentOS/EulerOS/中标麒麟系统下安装 Java 性能优化工具
本章以CentOS环境下安装Java性能优化工具为例,EulerOS/中标麒麟环境下除了安装过程中挂载的系统镜像文件不同,安装方法都相同。
参考2.1 环境要求,获取安装过程中使用的软件包。
步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 将“CentOS-7-aarch64-Everything-1810.iso”镜像文件上传至服务器任意目录下(例如“root”目录)。执行如下命令,将CentOS 7.6的ISO镜像文件挂载到本地目录下(“root”为保存镜像文件的路径,请用实际路径代替)。
mount /root/CentOS-7-aarch64-Everything-1810.iso /mnt
须知
● 重启后失效,需要重新挂载。
● 其他操作系统环境下请挂载对应的系统镜像文件。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 9
步骤3 执行如下命令,进入“/etc/yum.repos.d”目录,并将此目录下的*.repo文件移到任意其他备份目录下(mv命令中的“path”表示备份目录,请用实际情况代替)。
cd /etc/yum.repos.d
mv *.repo path
执行如下命令,创建“local.repo”文件。
touch local.repo
步骤4 配置yum源。
1. 执行如下命令修改“local.repo”文件中的内容。
vi local.repo
2. 在“local.repo”文件中写入以下内容。[local]name=local repobaseurl=file:///mntenabled=1gpgcheck=0
3. 输入:wq保存并退出。
步骤5 执行如下命令,更新yum源。
yum clean all
yum makecache
步骤6 将“Tuning-Kit-release-x.x.x.tar.gz”软件包上传至“/home”的根目录下,执行如下命令解压安装包(其中“x.x.x”表示版本号,请用实际情况代替)。
cd /home
tar -zxvf Tuning-Kit-release-x.x.x.tar.gz
步骤7 执行如下命令安装Java性能优化工具。
cd /home/Tuning_kit
./tuning_kit_install.sh -i -j -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>
或者省略默认参数为:
./tuning_kit_install.sh -j -ip=<nginx ip> -jip=<internal ip> -jh=<java home>
命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。请用实际情况代替命令中的参数,例如:
./tuning_kit_install.sh -i -j -d=/opt -ip=10.247.81.189 -p=8086 -jip=10.247.81.189-jh=/opt/jdk11
或者:
./tuning_kit_install.sh -j -ip=10.247.81.189 -jip=10.247.81.189 -jh=/opt/jdk11
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 10
说明
● 如果安装过程中提示“ifconfig: 未找到命令”,安装过程中止。请执行yum -y install net-tools命令安装net-tools工具后重新安装。
● 如果需要安装Java性能优化工具和Java性能优化工具,执行如下命令,命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。
./tuning_kit_install.sh -i -a -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>或者省略默认参数为:
./tuning_kit_install.sh -ip=<nginx ip> -jip=<internal ip> -jh=<java home>
● 安装过程中需要手动设置华为鲲鹏性能优化工具程序的操作系统运行用户(malluma)的密码,例如Huawei12#$。输入的密码需要满足如下复杂度要求:
– 密码长度为6~32个字符
– 必须包含大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()-_=+\|[{}];:'",<.>/?)中的两种及以上的字符
● 安装过程中提示输入其他的用户信息可按“Enter”采用默认值。
步骤8 执行systemctl status firewalld命令查看服务器OS防火墙的状态。如果防火墙已开启(active),执行如下操作开通防火墙端口;如果防火墙没有开启(inactive),请跳过此步骤。
说明
以下命令中的8086端口是步骤7安装过程中设置的https端口号,请根据实际情况修改。
1. 执行firewall-cmd --query-port=8086/tcp命令查看端口是否开通,提示“no”表示端口未开通。
2. 执行firewall-cmd --add-port=8086/tcp --permanent命令永久开通端口,提示“success”表示开通成功。
3. 执行firewall-cmd --reload命令重新载入配置。
4. 再次执行firewall-cmd --query-port=8086/tcp命令查看端口是否开通,提示“yes”表示端口已开通。
5. 重复步骤8.1~步骤8.4开通9090端口。
说明
如果想要移除端口,请执行firewall-cmd --permanent --remove-port=8086/tcp命令,提示“success”表示端口移除成功,然后执行firewall-cmd --reload命令重新载入配置。
----结束
2.5 SUSE 系统下安装 Java 性能优化工具参考2.1 环境要求,获取安装过程中使用的软件包。
步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 将“SLE-15-SP1-Packages-aarch64-GM-DVD1.iso”镜像文件上传至服务器任意目录下(例如“root”目录)。执行如下命令,将SUSE的ISO镜像文件挂载到本地目录下(“root”为保存镜像文件的路径,请用实际路径代替)。
mount -o loop /root/ SLE-15-SP1-Packages-aarch64-GM-DVD1.iso /mnt
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 11
须知
重启后失效,需要重新挂载。
步骤3 执行如下命令配置本地源(“local-suse”为任意命名的本地源名称)。
zypper ar file:///mnt local-suse
步骤4 执行如下命令清除本地缓存,刷新安装源。
zypper clean
zypper ref
步骤5 执行如下命令安装依赖包。
zypper in -y gcc gcc-c++
步骤6 将“Tuning-Kit-release-x.x.x.tar.gz”软件包上传至“/home”的根目录下,执行如下命令解压安装包(其中“x.x.x”表示版本号,请用实际情况代替)。
cd /home
tar -zxvf Tuning-Kit-release-x.x.x.tar.gz
步骤7 执行如下命令安装Java性能优化工具。
cd /home/Tuning_kit
./tuning_kit_install.sh -i -j -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>
或者省略默认参数为:
./tuning_kit_install.sh -j -ip=<nginx ip> -jip=<internal ip> -jh=<java home>
命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。请用实际情况代替命令中的参数,例如:
./tuning_kit_install.sh -i -j -d=/opt -ip=10.247.81.189 -p=8086 -jip=10.247.81.189-jh=/opt/jdk11
或者:
./tuning_kit_install.sh -j -ip=10.247.81.189 -jip=10.247.81.189 -jh=/opt/jdk11
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 12
说明
● 如果安装过程中提示“ifconfig: 未找到命令”,安装过程中止。请执行yum -y install net-tools命令安装net-tools工具后重新安装。
● 如果需要安装Java性能优化工具和Java性能优化工具,执行如下命令,命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。
./tuning_kit_install.sh -i -a -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>或者省略默认参数为:
./tuning_kit_install.sh -ip=<nginx ip> -jip=<internal ip> -jh=<java home>● 安装过程中需要手动设置华为鲲鹏性能优化工具程序的操作系统运行用户(malluma)的密
码,例如Huawei12#$。输入的密码需要满足如下复杂度要求:
– 密码长度为6~32个字符
– 必须包含大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()-_=+\|[{}];:'",<.>/?)中的两种及以上的字符
● 安装过程中提示输入其他的用户信息可按“Enter”采用默认值。
步骤8 执行systemctl status firewalld命令查看服务器OS防火墙的状态。如果防火墙已开启(active),执行如下操作开通防火墙端口;如果防火墙没有开启(inactive),请跳过此步骤。
说明
以下命令中的8086端口是步骤7安装过程中设置的https端口号,请根据实际情况修改。
1. 执行firewall-cmd --query-port=8086/tcp命令查看端口是否开通,提示“no”表示端口未开通。
2. 执行firewall-cmd --add-port=8086/tcp --permanent命令永久开通端口,提示“success”表示开通成功。
3. 执行firewall-cmd --reload命令重新载入配置。
4. 再次执行firewall-cmd --query-port=8086/tcp命令查看端口是否开通,提示“yes”表示端口已开通。
5. 重复步骤8.1~步骤8.4开通9090端口。
说明
如果想要移除端口,请执行firewall-cmd --permanent --remove-port=8086/tcp命令,提示“success”表示端口移除成功,然后执行firewall-cmd --reload命令重新载入配置。
----结束
2.6 Debian/Ubuntu/深之度/凝思系统下安装 Java 性能优化工具
本章以Ubuntu环境下安装Java性能优化工具为例,Debian/深之度/凝思环境下除了安装过程中挂载的系统镜像文件不同,安装方法都相同。
参考2.1 环境要求,获取安装过程中使用的软件包。
步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 将“ubuntu-18.04.1-server-arm64.iso”镜像文件上传至服务器任意目录下(例如“root”目录)。执行如下命令,将Ubuntu的ISO镜像文件挂载到本地目录下(“root”为保存镜像文件的路径,请用实际路径代替)。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 13
mount /root/ubuntu-18.04.1-server-arm64.iso /media/cdrom
须知
● 重启后失效,需要重新挂载。
● 其他操作系统环境下请挂载对应的系统镜像文件。
步骤3 操作系统本地镜像源存在部分安装包缺失的情况,缺失的依赖包如表2-6所示,请自行在对应操作系统官方镜像源网站下载。将下载的安装包上传至服务器,执行如下命令安装依赖包。
dpkg -i 安装包名称
须知
其他依赖安装包可通过步骤4和步骤5配置apt源安装。
表 2-6 缺失依赖包
操作系统 版本 缺失依赖包
Debian 10 numactl tcl-expect expect linux-perf-4.19a libboost-numpy1.67.0 libboost-python1.67.0 linux-headers-$(uname -r) libssl-dev lsscsi
Ubuntu 18.04.1 tcl-expect expect python-numpy zlib1g-dev linux-perf-4.19a libpcrecpp0v5 libpcre32-3 libpcre16-3 libffi-dev libboost-numpy1.67.0 libboost-python1.67.0 graphvizlibssl-dev libpcre3-dev
深之度 15.2 numactl tcl-expect expect linux-perf-4.9a libffi-devlibboost-numpy1.67.0 libboost-python1.67.0 graphvizlibssl-dev lsscsi
凝思 6.0.90 sudo libboost-numpy1.67.0 libboost-python1.67.0 libssl-dev
a:“linux-perf-x.x”安装完成之后需执行如下步骤检查perf安装结果并建立软链接(命令中的x.x为版本号,请根据实际替换)。
1. 查询perf安装路径。which perf_x.x回显信息如下:/usr/bin/perf_x.x
2. 执行如下命令建立软链接。ln -s /usr/bin/perf_x.x /usr/bin/perf
步骤4 执行如下命令添加ISO镜像至apt源列表。
apt-cdrom -m -d=/media/cdrom add
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 14
步骤5 执行如下命令,更新apt源。
apt-get update
步骤6 将“Tuning-Kit-release-x.x.x.tar.gz”软件包上传至“/home”的根目录下,执行如下命令解压安装包(其中“x.x.x”表示版本号,请用实际情况代替)。
cd /home
tar -zxvf Tuning-Kit-release-x.x.x.tar.gz
步骤7 执行如下命令安装Java性能优化工具。
cd /home/Tuning_kit
./tuning_kit_install.sh -i -j -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>
或者省略默认参数为:
./tuning_kit_install.sh -j -ip=<nginx ip> -jip=<internal ip> -jh=<java home>
命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。请用实际情况代替命令中的参数,例如:
./tuning_kit_install.sh -i -j -d=/opt -ip=10.247.81.189 -p=8086 -jip=10.247.81.189-jh=/opt/jdk11
或者:
./tuning_kit_install.sh -j -ip=10.247.81.189 -jip=10.247.81.189 -jh=/opt/jdk11
说明
● 如果安装过程中提示“ifconfig: 未找到命令”,安装过程中止。请执行yum -y install net-tools命令安装net-tools工具后重新安装。
● 如果需要安装Java性能优化工具和Java性能优化工具,执行如下命令,命令的详细说明请参见12.5 华为鲲鹏性能优化工具安装命令格式。
./tuning_kit_install.sh -i -a -d=<install path> -ip=<nginx ip> -p=<nginx port> -jip=<internal ip> -jh=<java home>或者省略默认参数为:
./tuning_kit_install.sh -ip=<nginx ip> -jip=<internal ip> -jh=<java home>● 安装过程中需要手动设置华为鲲鹏性能优化工具程序的操作系统运行用户(malluma)的密
码,例如Huawei12#$。输入的密码需要满足如下复杂度要求:
– 密码长度为6~32个字符
– 必须包含大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()-_=+\|[{}];:'",<.>/?)中的两种及以上的字符
● 安装过程中提示输入其他的用户信息可按“Enter”采用默认值。
步骤8 如果服务器OS防火墙已开启,执行如下操作开通服务器OS防火墙端口(如果服务器OS防火墙没有开启,请跳过此步骤)。
说明
以下命令中的8086端口是步骤7安装过程中设置的https端口号,请根据实际情况修改。
● 如果安装了ufw,执行如下操作:
a. 执行ufw status命令查看当前防火墙状态和端口开启情况(显示“inactive”表示防火墙没有开启,请跳过以下步骤)。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 15
b. 执行ufw allow 8086/tcp命令开通端口。
c. 再次执行ufw status命令检查端口是否打开,“Action”状态显示“ALLOW”表示端口已开通。
d. 重复步骤8.a~步骤8.c开通9090端口(Java性能优化工具内部模块通讯端口)。
说明
如果想要移除端口,请执行ufw delete allow 8086/tcp命令。
● 如果没有安装ufw,使用操作系统自带的iptables,执行如下操作:
a. 执行iptables -L -n | grep 8086查看端口是否被禁用(无回显信息表示对端口无限制,请跳过以下步骤)。
b. 如果端口被禁用,执行如下命令打开本地存储中的防火墙配置文件。
vi 防火墙配置文件
c. 在配置文件中修改对应端口的配置为:-A INPUT -p tcp --dport 8086 -j ACCEPT-A OUTPUT -p tcp --sport 8086 -j ACCEPT
d. 输入:wq保存并退出。
e. 执行iptables-restore命令导入配置文件。
f. 重复步骤8.a~步骤8.e开通9090端口(Java性能优化工具内部模块通讯端口)。
----结束
2.7 验证使用SSH远程登录工具,进入Linux操作系统命令行界面,执行以下步骤检查环境,并验证Java性能优化工具是否安装成功。
步骤1 执行如下命令查询Java性能优化工具状态信息。
systemctl status thor
回显信息如下,“Active”显示“active (running)”说明工具正常启动。
thor.service - Tuning Kit for Java Loaded: loaded (/opt/tuning_kit/thor-server-2.1.1.B111/config/thor.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2020-02-14 02:40:42 CST; 3 days ago Main PID: 7887 (java) CGroup: /system.slice/thor.service └─7887 /opt/jdk11/bin/java -Djava.util.concurrent.ForkJoinPool.common.parallelism=0 -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5007 -Dthor.home.dir...
步骤2 登录Java性能优化工具Web界面,详细步骤请参见3 登录Java性能优化工具Web界面,能够成功登录说明Java性能优化工具安装成功。
----结束
2.8 卸载步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 16
步骤2 执行如下命令,卸载Java性能优化工具。
cd /opt/tuning_kit //切换至华为鲲鹏性能优化工具安装目录,请根据实际替换。
./tuning_kit_uninstall.sh -j
须知
● 建议不要在分析任务执行过程中卸载,否则可能出现异常。
● 卸载命令的详细说明请参见12.6 华为鲲鹏性能优化工具卸载命令格式。
----结束
华为鲲鹏 Java 性能优化工具用户指南 2 安装 Java 性能优化工具
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 17
3 登录 Java 性能优化工具 Web 界面
浏览器要求
浏览器要求如表3-1所示。
表 3-1 浏览器要求
浏览器类型 说明
Chrome Chrome 72.0及以上版本
操作步骤
须知
● 默认连续3次登录失败,系统将对此用户进行锁定,默认锁定10分钟后可以重新登录。
● 为保证系统的安全性,初次登录时,请及时修改初始密码,并定期更新。
● 默认允许10个用户同时登录使用(可手动配置,配置范围为1~50 超出范围取默认值10),单个用户只允许1个活跃会话。
步骤1 打开本地PC机的Chrome浏览器,在地址栏输入https://部署服务器的ip:端口号/user-management/#/login(例如:https://10.116.239.242:8086/user-management/#/login),按“Enter”。
说明
https默认端口为8086,请确认使用该工具之前OS防火墙已开通8086端口。
步骤2 浏览器可能会提示网站的安全证书有问题,此时只要确认IP地址正确,您仍然可以选择“高级 > 继续前往xxx”(xxx代表部署服务器的IP地址)忽略该提示并继续访问。
弹出登录界面,如图3-1所示,参数说明如表3-2所示。
华为鲲鹏 Java 性能优化工具用户指南 3 登录 Java 性能优化工具 Web 界面
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 18
图 3-1 登录华为鲲鹏性能优化工具
表 3-2 登录界面参数说明
参数 说明
用户名 登录华为鲲鹏性能优化工具的用户。
说明华为鲲鹏性能优化工具默认的操作管理员用户名为tunadmin,默认密码为Admin@9000。首次登录后请修改此默认密码,从安全性考虑,建议定期修改密码。
密码 登录用户的密码。为了保证安全,用户应定期修改自己的登录密码。
步骤3 按照表3-2输入用户名和密码。
步骤4 单击“登录”。
首次登录Web的用户,系统提示修改默认密码。请按提示修改密码,密码需要满足如下复杂度要求:
● 密码长度为6~32个字符
● 密码至少包含以下字符中的两种:
– 大写字母:A ~ Z– 小写字母:a ~ z– 数字:0 ~ 9– 特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?
成功登录后,显示首页界面,界面右上角将显示登录的用户名,如图3-2所示。
华为鲲鹏 Java 性能优化工具用户指南 3 登录 Java 性能优化工具 Web 界面
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 19
图 3-2 首页界面
步骤5 单击“Java性能优化”打开Java性能优化工具Web界面,如图3-3所示。
图 3-3 Java 性能优化工具首页界面
----结束
华为鲲鹏 Java 性能优化工具用户指南 3 登录 Java 性能优化工具 Web 界面
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 20
4 界面说明
界面分区
Java性能优化工具首页界面主要由如图4-1所示的区域组成,各个区域的作用如表4-1所示。
图 4-1 Java 性能优化工具首页界面
表 4-1 首页界面组成
名称 说明
Guardian区 展示Java性能优化工具中添加的所有Guardian。
Java进程区 展示当前Guardian中的所有Java进程。
Profiling分析记录区
展示正在进行的Profiling分析。
Sampling分析记录区
展示历史Sampling分析记录。
语言 Java性能优化工具支持简体中文和English两种语言类型。
华为鲲鹏 Java 性能优化工具用户指南 4 界面说明
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 21
名称 说明
当前用户 展示当前登录用户,并提供用户管理、查看操作日志、修改密码和退出用户的操作入口。
帮助 联机帮助入口,提供界面信息和操作的在线帮助。
图标及按钮说明
Java性能优化工具界面中出现的图标/按钮及其说明如表4-2所示。
表 4-2 图标/按钮说明
类型 图标/按钮
说明
信息图标 帮助。
标志符号 用于提示操作警示信息。
Guardian图标
Guardian处于在线状态。
Guardian正在创建中。
Guardian处于离线状态。
分析记录图标
分析任务正在进行中。
分析任务执行完成。
分析任务执行失败。
用户控件图标
添加:添加新Guardian。
修改:对操作项进行编辑。
删除:删除所选条目。
搜索:在“搜索”框中输入关键字,用于按关键字查找资源类型或特定资源。
刷新:更新当前页面或区域显示内容。
展开:展开已折叠的列表项。
折叠:折叠已展开的列表项。
返回:返回至首页界面。
按钮 确认 提交输入内容,然后关闭窗口或对话框。
华为鲲鹏 Java 性能优化工具用户指南 4 界面说明
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 22
类型 图标/按钮
说明
取消 放弃窗口或对话框上的未保存更改,然后关闭窗口或对话框。
华为鲲鹏 Java 性能优化工具用户指南 4 界面说明
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 23
5 添加 Guardian
前提条件● 已成功登录Java性能优化工具。
● 待安装Guardian的服务器已开启sshd。
操作步骤
步骤1 登录Java性能优化工具Web界面,单击首页界面“Guardian”区域中的 。
步骤2 打开“添加Guardian”窗口,如图5-1所示,需要配置的参数如表5-1所示。
华为鲲鹏 Java 性能优化工具用户指南 5 添加 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 24
图 5-1 添加 Guardian
表 5-1 添加 Guardian 参数说明
参数 说明
名称 输入新建Guardian的名称。名称需要满足如下要求:
● 以英文字母开头
● 长度为6~32个字符
● 可以包含字母、数字、“.”和“_”
服务器IP地址 输入待安装Guardian的远程服务器的IP地址。
用户名 输入登录远程服务器的用户名。
说明Guardian会获取服务器上该用户权限下的已运行的Java进程。
密码 输入登录远程服务器的用户密码。
端口 输入远程服务器的SSH服务端口号。默认为22。
步骤3 参考表5-1配置参数后,单击“确认”。
弹出操作确认对话框,如图5-2所示。
华为鲲鹏 Java 性能优化工具用户指南 5 添加 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 25
说明
指纹为要部署Guardian的服务器的SSH公钥指纹。
图 5-2 确认创建 Guardian
步骤4 单击“确认”完成Guardian的创建。
----结束
华为鲲鹏 Java 性能优化工具用户指南 5 添加 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 26
6 Profiling分析
6.1 创建Profiling分析任务
6.2 查看分析结果
6.3 停止Profiling分析
6.1 创建 Profiling分析任务
前提条件
● 已成功添加Guardian且Guardian处于在线状态,并且当前Guardian下不存在正在分析的进程。
● 部署Guardian的服务器已安装JDK工具,JDK工具版本要求为Huawei JDK 8或者Open JDK 8/11。
操作步骤
步骤1 登录Java性能优化工具Web界面,在首页界面“Guardian”区域选择指定Guardian,在“Java进程”区域选择指定的Java进程,如图6-1所示。
图 6-1 选择 Java 进程
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 27
步骤2 单击“Profiling分析”。
打开“概览”页面,如图6-2所示。
图 6-2 概览
----结束
6.2 查看分析结果
前提条件
已创建Profiling分析任务,且分析任务正在进行中。
查看概览信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面,如图6-3和图6-4所示,参数说明如表6-1和表6-2所示。
说明
“参数”区域显示该Java进程的系统参数。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 28
图 6-3 概览
图 6-4 概览(环境信息和参数)
表 6-1 概览页面参数说明
参数 说明
堆
Used Size 目标Java应用,已使用的堆内存大小。
CommittedSize
目标JVM已预留的堆内存大小。
GC活动
Pause Time GC引起的应用暂停执行时间。
类
LoadedClasses
已加载Java类数量。
线程
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 29
参数 说明
RunningThread
处于运行态线程数量。
WaitingThread
处于等待态线程数量。
BlockedThread
处于阻塞态线程数量。
CPU负载
CPU Usage CPU使用率。
JVM CPUUsage
JVM进程占用的CPU使用率。
表 6-2 环境信息区域参数说明
参数 说明
PID 显示进程号。
Host 显示主机信息。
Main Class 显示程序的入口的类名称。
Arguments 显示命令行参数。
JVM 显示JVM版本信息。
Java 显示JDK版本信息。
表 6-3 环境变量区域参数说明
参数 说明
Keyword 显示环境变量名称。
Value 显示环境变量值。
----结束
查看线程信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面。
步骤2 查看线程状态信息。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 30
单击“线程”页签打开“线程列表”页面查看线程的状态信息,如图6-5所示。
说明
“线程列表”列出当前分析的Java进程启动的线程名称和线程状态。线程可以是以下状态之一:Runnable、Blocked或Waiting。
图 6-5 线程列表
步骤3 查看线程事件信息。
1. 单击“线程转储”页签,单击“执行线程转储”按钮生成线程转储。
说明
Java的线程转储指的是JVM中在某一个给定的时刻运行的所有线程的快照。
2. 在线程转储列表中,单击指定线程转储前的 展开线程转储。
3. 单击线程名称查看线程的事件信息,如图6-6所示。
图 6-6 线程转储
步骤4 查看线程锁分析图。
1. 单击“锁分析图”页签。
2. 在线程转储的列表中,单击指定线程转储查看线程锁分析图,如图6-7所示。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 31
说明
– 在锁分析图中,左侧为线程,其颜色表示线程状态,绿色为Runnable状态,红色为Blocked状态;右侧为锁实例。
– 锁分析图通过连线表示线程对锁的占有情况。实线表示线程已占有锁,虚线表示线程阻塞在对应锁实例上,等待其他线程释放锁后占有。
– 如果目标Java应用中存在死锁,会检测出死锁,可以结合线程转储,定位死锁产生原因。
图 6-7 锁分析图
----结束
查看 Java Heap 信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面。
步骤2 单击“Java Heap”查看Java堆的使用情况,如图6-8所示,参数说明如表6-4所示。
说明
● 对象分配表显示当前堆中对象数量和大小。
● “堆”区域的面积图显示当前堆的已使用大小和空闲大小。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 32
图 6-8 Java 堆
表 6-4 对象分配表区域参数说明
参数 说明
类名称 显示类名称。
实例数 显示垃圾收集之后实例数量。
占用内存大小
显示垃圾收集之后该类实例占用内存大小。
----结束
查看 JDBC 信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面。
步骤2 单击“JDBC”页签。
打开授权提示页面,如图6-9所示。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 33
图 6-9 授权提示
步骤3 勾选“显示SQL语句”,单击“确认”。
打开热点页面。
步骤4 单击“启动分析JDBC”按钮获取热点语句统计报告。
如图6-10所示,参数说明如表6-5和表6-6所示。
说明
阈值默认为100ms,只会抓取耗时超过阈值的SQL请求来分析,阈值范围为50~10000毫秒。
例如:阈值设置为200毫秒,那么性能工具就只会抓取耗时超过200毫秒的SQL请求来分析。
图 6-10 热点
表 6-5 热点区域参数说明
参数 说明
热点语句 显示SQL语句。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 34
参数 说明
总耗时 显示执行热点语句的总耗时。
平均执行时间
显示热点语句的平均执行时间。
执行次数 显示SQL语句执行次数。
表 6-6 SQL 监控区域参数说明
参数 说明
执行语句 执行的SQL语句数量。
语句平均执行时间
SQL语句平均执行时间。
----结束
查看 HTTP 请求信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面。
步骤2 单击“HTTP请求”。
打开“热点”页签。
步骤3 单击“启动分析HTTP请求”按钮,等待一段时间后,单击“停止分析HTTP请求”生成HTTP请求统计报告,如图6-11所示。
说明
阈值默认为100ms,分析HTTP请求只会捕获耗时超过阈值的HTTP请求来分析,阈值范围为50~10000毫秒。
例如:阈值设置为200毫秒,那么性能工具就只会抓取耗时超过200毫秒的HTTP请求来分析。
图 6-11 热点
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 35
表 6-7 热点页签参数说明
参数 说明
Hot URL 热点HTTP请求(URI + HTTP请求方法)。
Count 该类HTTP请求访问执行次数。
Average 执行该类HTTP请求所用平均毫秒时间。
表 6-8 实时监控区域参数说明
参数 说明
执行请求数 请求执行次数。
请求平均执行时间
请求平均执行时间。
----结束
6.3 停止 Profiling分析
前提条件
已创建Profiling分析任务,且分析任务正在进行中。
操作步骤
步骤1 登录Java性能优化工具Web界面,单击首页界面“Profiling分析记录”列表中指定分析任务的名称。
打开“概览”页面。
步骤2 单击进程名称右边的“停止分析”按钮,如图6-12所示。
图 6-12 停止分析任务
步骤3 在如图6-13所示的确认对话框中单击“确认”停止分析任务。
说明
停止Profiling分析后,将会导致相关的分析数据被清除,请谨慎操作。
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 36
图 6-13 确认停止分析任务
----结束
华为鲲鹏 Java 性能优化工具用户指南 6 Profiling分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 37
7 Sampling 分析
7.1 创建Sampling分析任务
7.2 查看分析结果
7.3 管理Sampling分析记录
7.1 创建 Sampling 分析任务
前提条件● 已成功添加Guardian且Guardian处于在线状态。
● 部署Guardian的服务器已安装JDK工具,JDK工具版本要求为Huawei JDK 8或者Open JDK 8/11。
操作步骤
步骤1 登录Java性能优化工具Web界面,在首页界面“Guardian”区域选择指定Guardian,在“Java进程”区域选择指定的Java进程,如图7-1所示。
图 7-1 选择 Java 进程
步骤2 单击“Sampling分析”。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 38
打开“新建Sampling分析记录”窗口,如图7-2或图7-3所示,需要配置的参数如表7-1所示。
图 7-2 新建 Sampling 分析记录(指定记录时长)
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 39
图 7-3 新建 Sampling 分析记录(手动停止)
表 7-1 新建 Sampling 分析记录参数说明
参数 说明
Sampling记录名称
输入新建分析记录任务的名称。名称需要满足如下要求:
● 以英文字母开头
● 长度为6~32个字符
● 可以包含字母、数字、“.”和“_”
记录时长(秒)
设置记录的时间。默认为60秒,取值范围1~300秒。
说明如果打开“手动停止”,此参数不可设置。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 40
参数 说明
手动停止 手动停止。默认关闭。
说明如果未设置记录时长,则需要开启“手动停止”功能。手动停止采样后,系统仅分析停止前5分钟内的采样数据。
方法采样 方法取样。默认打开。
Java方法采样间隔(毫秒)
设置Java方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明如果关闭“方法采样”,此参数不可设置。
Native方法采样间隔(毫秒)
设置Native方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明如果关闭“方法采样”,此参数不可设置。
线程转储 是否启用线程转储。默认打开。
转储间隔(秒)
设置线程转储的间隔时间。默认为1秒,取值范围1~300秒。
说明
● 如果关闭“线程转储”,此参数不可设置。
● 如果设置了“记录时长”,“转储间隔”应小于“记录时长”。建议设置“转储间隔”为1、5、10、20、30、60秒等常用值,方便使用。
步骤3 参考表7-1配置任务参数后,单击“确认”。
弹出分析进度窗口,如图7-4所示。
图 7-4 分析进度
----结束
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 41
7.2 查看分析结果
前提条件
已创建Sampling分析记录,并完成分析。
查看环境信息
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签,如图7-5和图7-6所示,参数说明如表7-3、表7-4和表7-5所示。
说明
“CPU利用率”区域显示了当前进程的CPU利用率折线图。
图 7-5 环境信息(CPU 利用率)
图 7-6 环境信息(Java 系统属性、系统环境信息和环境变量)
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 42
表 7-2 CPU 利用率区域参数说明
参数 说明
机器总计 显示计算机总的CPU利用率。
JVM用户态 显示JVM用户态CPU利用率。
JVM内核态 显示JVM内核态CPU利用率。
表 7-3 Java 系统属性区域参数说明
参数 说明
键 显示Java系统属性键。
值 显示Java系统属性值。
表 7-4 系统环境信息区域参数说明
参数 说明
CPU 显示CPU型号。
核数 显示CPU核数。
内存 显示内存容量大小。
操作系统 显示操作系统版本信息。
表 7-5 环境变量区域参数说明
参数 说明
变量 显示环境变量名称。
值 显示环境变量值。
----结束
查看 GC 分析结果
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签。
步骤2 单击“GC”页签查看GC分析结果,如图7-7所示,参数说明如表7-6、表7-7、表7-8、表7-9和表7-10所示。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 43
图 7-7 GC(GC 配置、堆配置和年轻代配置)
图 7-8 GC(GC 活动和暂停阶段)
表 7-6 GC 配置区域参数说明
参数 说明
年轻代垃圾收集器
显示年轻代垃圾收集器名称。
年老代垃圾收集器
显示年老代垃圾收集器名称。
并发GC线程 显示并发GC线程数。
并行GC线程 显示并行GC线程数。
System.gc()并发执行
显示System.gc()是否为并发执行。
已禁用System.gc()
显示是否禁用System.gc()触发GC。
使用动态GC线程
显示是否动态调节GC线程数。
GC时间比率 显示目标运行时间和GC执行时间比率。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 44
表 7-7 堆配置区域参数说明
参数 说明
初始堆大小 显示初始堆大小。
小堆大小 显示 小堆大小。
大堆大小 显示 大堆大小。
是否使用压缩Oops
显示是否启用压缩Oops。
压缩Oops模式
显示使用的压缩Oops模式。
堆地址大小 显示堆地址大小。
对象对齐 显示Heap中对象对齐位数。
表 7-8 年轻代配置区域参数说明
参数 说明
小年轻代大小
显示 小年轻代大小。
大年轻代大小
显示 大年轻代大小。
新比率 显示年轻代和年老代大小比率。
使用TLAB 是否使用TLAB(thread local alloc buffer)。
小TLAB大小
显示 小TLAB大小。
TLAB重新填充浪费限制
显示TLAB重新填充浪费限制大小。
表 7-9 GC 活动区域参数说明
参数 说明
GC活动 显示GC活动编号。
原因 显示触发GC的原因。
收集器名称 显示垃圾收集器名称。
长暂停时间 (ms)
显示此次GC的 长暂停时间。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 45
表 7-10 暂停阶段区域参数说明
参数 说明
事件类型 显示暂停阶段的事件类型。
名称 显示阶段名称。
暂停时间(µs)
显示暂停时间。
开始时间 显示暂停阶段开始时间。
----结束
查看锁分析结果
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签。
步骤2 单击“锁”页签查看锁分析结果,如图7-9所示,参数说明如表7-11和表7-12所示。
说明
“栈跟踪”区域为线程阻塞发生的位置。通过跟踪阻塞时间比较长的线程,找到可能导致线程运行缓慢的代码位置。
图 7-9 锁分析结果
表 7-11 监视器区域参数说明
参数 说明
类名称 显示监视器对应的类名称。
总阻塞时间(ms)
显示线程在监视器上阻塞的时间。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 46
参数 说明
阻塞线程数 显示阻塞在监视器上的线程数。
采样次数 显示对应的采样次数。
表 7-12 线程区域参数说明
参数 说明
线程名称 显示线程名称。
总阻塞时间(ms)
显示线程在监视器上阻塞的时间。
采样次数 显示对应的采样次数。
----结束
查看线程转储分析结果
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签。
步骤2 单击“线程转储”页签打开线程转储列表界面。展开指定线程转储,单击线程的名称查看线程的调用栈信息,如图7-10所示。
图 7-10 线程转储(原始数据)
步骤3 在“显示类型”下拉框中选择“锁图”,单击指定线程转储查看线程锁分析图,如图7-11所示。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 47
说明
● 在锁分析图中,左侧为线程,其颜色表示线程状态,绿色为Runnable状态,红色为Blocked状态;右侧为锁实例。
● 锁分析图通过连线表示线程对锁的占有情况。实线表示线程已占有锁,虚线表示线程阻塞在对应锁实例上,等待其他线程释放锁后占有。
● 如果目标Java应用中存在死锁,会检测出死锁,可以结合线程转储,定位死锁产生原因。
图 7-11 线程转储(锁图)
----结束
查看方法采样分析结果
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签。
步骤2 单击“方法采样”页签查看方法火焰图和调用树,如图7-12和图7-13所示。
说明
可在“图类型”下拉框中选择:
● 火焰图:可在“采样数据”下拉框中选择“Java方法采样”和“Native方法采样”,查看对应的火焰图。
火焰图信息:
y轴表示调用栈。每一层一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。
x轴表示抽样数。如果一个函数在x轴占据的宽度越宽,就表示它被抽到的次数越多,即执行的时间越长。注意,x轴不代表时间,而是所有的调用栈合并后,按字母顺序排列的。
● 调用树:可在“采样数据”下拉框中选择“Java方法采样”和“Native方法采样”,以树形结构显示调用栈的逻辑过程,分析程序中函数的调用关系和比例。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 48
图 7-12 方法采样(火焰图 - Java 方法采样)
图 7-13 方法采样(调用树 - Java 方法采样)
----结束
查看内存分析结果
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”列表中指定分析任务的名称。
打开“环境信息”页签。
步骤2 单击“内存”页签查看Java对象在Heap中的分配情况,如图7-14所示,参数说明如表7-13所示。
说明
在“类”区域点击指定类名称可在下方“内存分配”区域查看内存分配的柱状图。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 49
图 7-14 内存
表 7-13 类区域参数说明
参数 说明
类名称 显示类名称。
大实时计数
显示类实例的 大实时计数。
大实时大小
显示类实例占用内存的 大实时大小。
总内存分配 显示总内存分配大小。
----结束
7.3 管理 Sampling 分析记录
前提条件
已成功创建Sampling分析记录并成功启动。
停止 Sampling 分析记录
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”区域中的指定任务名称。
打开分析进度弹窗,如图7-15所示。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 50
图 7-15 分析进度
步骤2 单击“停止记录”停止分析任务。
----结束
取消 Sampling 分析记录
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sampling分析记录”区域中处于分析过程中的指定任务名称。
打开分析进度弹窗,如图7-16所示。
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 51
图 7-16 分析进度
步骤2 单击“取消记录”取消分析任务。
----结束
删除 Sampling 分析记录报告
步骤1 登录Java性能优化工具Web界面,单击首页界面“Sample分析记录”区域中指定任务
名称后面的 。
须知
删除分析任务会将该分析任务的历史数据都删除,请谨慎操作。
----结束
华为鲲鹏 Java 性能优化工具用户指南 7 Sampling 分析
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 52
8 管理 Guardian
8.1 修改Guardian
8.2 删除Guardian
8.1 修改 Guardian
前提条件● 已成功添加Guardian。
说明
● 如果Guardian处于在线状态,只允许修改Guardian名称。
● 如果Guardian处于离线状态,可以输入登录远程服务器的用户密码重新部署Guardian。
● 安装Guardian的服务器已开启sshd。
操作步骤
步骤1 登录Java性能优化工具Web界面,在首页界面“Guardian”区域中选择指定
Guardian,单击 。
步骤2 打开“编辑Guardian”窗口,如图8-1或图8-2所示,需要配置的参数如表8-1所示。
华为鲲鹏 Java 性能优化工具用户指南 8 管理 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 53
图 8-1 编辑 Guardian (正常)
华为鲲鹏 Java 性能优化工具用户指南 8 管理 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 54
图 8-2 编辑 Guardian (离线)
表 8-1 编辑 Guardian 参数说明
参数 说明
名称 重新输入Guardian的名称。用户名需要满足如下要求:
● 以英文字母开头
● 长度为6~32个字符
● 可以包含字母、数字、“.”和“_”说明
Guardian处于离线状态时不允许修改。
服务器IP地址 安装Guardian的远程服务器IP地址。
说明编辑Guardian时不允许修改。
华为鲲鹏 Java 性能优化工具用户指南 8 管理 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 55
参数 说明
用户名 登录远程服务器的用户名。
说明编辑Guardian时不允许修改。
密码 输入登录远程服务器的用户密码。
说明
● Guardian正常时无法输入,将空白显示。
● Guardian处于离线状态,需要输入登录远程服务器的用户密码重新部署Guardian。
端口 SSH服务端口号。
说明编辑Guardian时不允许修改。
步骤3 单击“确认”完成Guardian的修改。
----结束
8.2 删除 Guardian
前提条件● 已成功添加Guardian。● 安装Guardian的服务器已开启sshd。
操作步骤
步骤1 登录Java性能优化工具Web界面,在首页界面“Guardian”区域中选择指定
Guardian,单击 。
步骤2 在弹出的删除操作确认对话框中单击“确认”,如图8-3或图8-4所示。
须知
如果Guardian是离线状态,输入部署Guardian时用户密码后点击“确认”,可删除Guardian相关的所有文件。如果不输入密码直接点击“确认”,还需要手动删除远程服务器上Guardian的执行文件。
华为鲲鹏 Java 性能优化工具用户指南 8 管理 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 56
图 8-3 确认删除 Guardian (离线)
图 8-4 确认删除 Guardian (正常)
----结束
华为鲲鹏 Java 性能优化工具用户指南 8 管理 Guardian
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 57
9 管理用户
9.1 创建用户
9.2 修改用户
9.3 删除用户
9.4 查看用户管理日志
9.5 修改当前登录用户密码
9.1 创建用户
前提条件
已成功登录华为鲲鹏性能优化工具。
说明
只有管理员用户(tunadmin)可以执行创建用户操作。
操作步骤
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“用户管理”。
打开用户管理界面。
步骤2 单击“创建用户”。
打开“创建用户”界面,如图9-1所示,需配置的参数如表9-1所示。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 58
图 9-1 创建用户
表 9-1 创建用户参数说明
参数 说明
角色 选择用户具备的权限角色,可为手动创建的用户分配“普通用户”的权限。
说明不同角色支持不同的操作权限:
● tunadmin:默认的WebUI登录帐号,权限角色为管理员,可以对所有用户添加的Guardian有浏览、修改、删除权限;只可对自建Guardian下的Java进程进行操作;对其他用户创建的分析任务无浏览、修改、删除权限。
● 普通用户:支持添加Guardian、新建分析任务,且可对自建的Guardian和分析任务进行修改、删除操作;对其他用户的Guardian、分析任务无浏览、修改、删除权限。
用户名 输入新建用户的名称。用户名需要满足如下要求:
● 用户名以英文字母开头
● 默认长度范围为:6~32● 可以包含字母、数字、“-”和“_”
密码 输入新建用户的密码。密码需要满足如下复杂度要求:
● 密码长度为6~32个字符
● 必须包含大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()-_=+\|[{}];:'",<.>/?)中的两种及以上的字符
确认密码 再次输入设置的密码。
步骤3 参考表9-1配置新用户后,单击“确认”。
弹出操作确认对话框,如图9-2所示。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 59
图 9-2 确认创建用户
步骤4 输入管理员的密码,单击“确认”。
----结束
9.2 修改用户
前提条件
已成功登录华为鲲鹏性能优化工具。
说明
只有管理员用户(tunadmin)可以执行修改用户操作。
操作步骤
说明
系统默认的管理员用户不可修改角色权限,仅可修改密码,详细操作请参见9.5 修改当前登录用户密码;手动创建的用户,可修改其密码。
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“用户管理”。
打开用户管理界面。
步骤2 单击指定用户后的“修改”。
打开“修改用户”窗口。
步骤3 如图9-3所示,参考表9-1修改用户信息(修改密码需先勾选“修改密码”),单击“确认”。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 60
图 9-3 修改用户
步骤4 输入管理员的密码,单击“确认”。
图 9-4 确认修改用户
----结束
9.3 删除用户
前提条件
已成功登录华为鲲鹏性能优化工具。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 61
说明
● 只有管理员用户(tunadmin)可以执行删除用户操作。
● 系统默认的管理员用户不可删除。
操作步骤
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“用户管理”。
打开用户管理界面。
步骤2 单击指定用户后的“删除”。
须知
用户下存在工程,管理员是不可以删除用户,必须先删除用户下的工程后才可删除,用户删除后,该用户相关的所有历史数据都会被删除,请谨慎操作。
弹出操作确认对话框,如图9-5所示。
图 9-5 删除用户
步骤3 输入管理员的密码,单击“确认”。
----结束
9.4 查看用户管理日志
前提条件
已成功登录华为鲲鹏性能优化工具。
说明
只有管理员用户(tunadmin)可以查看用户管理日志。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 62
操作步骤
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“操作日志”。
步骤2 弹出“操作日志”界面,如图9-6所示,界面参数描述如表9-2所示。
图 9-6 操作日志
表 9-2 参数说明
参数 说明
操作用户 显示进行操作的用户名称。
操作名称 显示操作事件的类型。
操作结果 显示操作的结果。
操作主机IP 显示进行操作的主机IP地址。
操作时间 显示操作发生的时间。
操作详情 显示操作的详细信息。
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 63
----结束
9.5 修改当前登录用户密码
前提条件
已成功登录华为鲲鹏性能优化工具。
操作步骤
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“修改密码”。
进入用户修改密码界面,如图9-7所示,需配置的参数如表9-3所示。
图 9-7 修改密码
表 9-3 修改密码参数说明
参数 说明
旧密码 输入用户当前密码。
新密码 输入新密码。密码需要满足如下复杂度要求:
● 密码长度为6~32个字符
● 必须包含大写字母、小写字母、数字、特殊字符(`~!@#$%^&*()-_=+\|[{}];:'",<.>/?)中的两种及以上的字符
确认密码 再次输入设置的密码。
步骤2 参考表9-3修改密码后,单击“确认”。
----结束
华为鲲鹏 Java 性能优化工具用户指南 9 管理用户
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 64
10 查看操作日志
前提条件
已成功登录Java性能优化工具。
说明
只有管理员用户(tunadmin)可以查看操作日志。
操作步骤
步骤1 登录Java性能优化工具Web界面,在页面右上角登录用户的下拉菜单中,选择“操作日志”。
步骤2 弹出“操作日志”界面,如图10-1所示,界面参数描述如表10-1所示。
华为鲲鹏 Java 性能优化工具用户指南 10 查看操作日志
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 65
图 10-1 操作日志
表 10-1 参数说明
参数 说明
操作用户 显示进行操作的用户名称。
操作名称 显示操作事件的类型。
操作结果 显示操作的结果。
操作主机IP 显示进行操作的主机IP地址。
操作时间 显示操作发生的时间。
操作详情 显示操作的详细信息。
----结束
华为鲲鹏 Java 性能优化工具用户指南 10 查看操作日志
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 66
11 工具发布信息查询
前提条件
已成功登录华为鲲鹏性能优化工具。
操作步骤
步骤1 登录华为鲲鹏性能优化工具Web界面,在页面右上方选择“关于”,如图11-1所示。
图 11-1 查询工具发布信息
步骤2 查询工具的版本信息和发布时间,如图11-2所示。
图 11-2 工具详细发布信息
----结束
华为鲲鹏 Java 性能优化工具用户指南 11 工具发布信息查询
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 67
12 FAQ
12.1 如何修改https/gunicorn端口
12.2 如何修改Java性能优化工具内部模块通讯端口
12.3 如何查看日志
12.4 软件包完整性校验返回WARNING或FAIL
12.5 华为鲲鹏性能优化工具安装命令格式
12.6 华为鲲鹏性能优化工具卸载命令格式
12.7 如何修改登录用户数量限制
12.1 如何修改 https/gunicorn 端口步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 执行如下命令关闭应用。
● https端口
cd /opt/tuning_kit
./service_nginx.sh stop
● gunicorn端口
cd /opt/tuning_kit
./service_gunicorn.sh stop
步骤3 执行如下命令修改端口(其中xxx代表端口号,请根据实际情况替换)。
● https端口
cd /opt/tuning_kit/change_port
./change_port.sh nginx xxx
● gunicorn端口
cd /opt/tuning_kit/change_port
./change_port.sh gunicorn xxx
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 68
说明
● https端口默认为8086,gunicorn端口默认为8000。
● 端口设置范围为1024~65535。
步骤4 执行如下命令启动应用。
● https端口
cd /opt/tuning_kit./service_nginx.sh start
● gunicorn端口
cd /opt/tuning_kit./service_gunicorn.sh start
----结束
12.2 如何修改 Java 性能优化工具内部模块通讯端口步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 执行如下命令修改端口(其中“/opt/tuning_kit”为工具安装目录,xxx代表端口号,请根据实际情况替换)。
cd /opt/tuning_kit/change_port
./change_port.sh java_perf xxx
说明
● Java性能优化工具内部模块通讯端口默认为9090。
● 端口设置范围为1024~65535,且不能设置和华为鲲鹏性能优化工具https端口相同。
----结束
12.3 如何查看日志步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 执行如下命令进入日志文件所在目录,日志名及日志存放路径如表12-1所示。
cd 日志存放路径
表 12-1 日志文件说明
日志类型 日志名称 存储路径 说明
安装日志 install.log /工具安装目录/tuning_kit/user_management/logs
记录各个组件在安装过程中的安装情况。
运行日志 gunicorn_access.log
/工具安装目录/tuning_kit/
记录访问gunicorn的IP与端口的信息。
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 69
日志类型 日志名称 存储路径 说明
gunicorn_error.log user_management/logs
记录gunicorn的进程号以及运行出错的信息。
gunicorn.log 记录gunicorn的日志。
operationlog_manager.log
/工具安装目录/tuning_kit/user_management/logs/backend
记录用户的操作日志。
permission.log 记录用户管理权限的日志。
requests.log 记录URL请求日志。
user_manager.log 记录用户登录管理的日志。
spring.log /工具安装目录/tuning_kit/thor-server-xxx/log
记录Java性能优化工具运行日志。
说明可执行journalctl -u thor命令查看运行日志。
步骤3 执行如下命令查看日志记录。
vi 日志名称
----结束
12.4 软件包完整性校验返回 WARNING 或 FAIL软件包完整性校验如果返回WARNING或FAIL,则表示验证未通过,请参见表12-2处理建议解决。
表 12-2 场景举例
验证结果场景
输出信息举例 验证结果
处理建议
签名验证通过,没有异常
gpg: Signature made Thu Jan 9 15:29:062014 CST using RSA key ID 27A74824gpg: Good signature from "OpenPGPsignature key for Huawei software (createdon 30th Dec,2013) <[email protected]>"
PASS NA
签名验证失败
gpg: Signature made Thu Jan 9 15:29:062014 CST using RSA key ID 27A74824gpg: BAD signature from "OpenPGPsignature key for Huawei software (createdon 30th Dec,2013) <[email protected]>"
FAIL 重新下载目标文件。
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 70
验证结果场景
输出信息举例 验证结果
处理建议
找不到公钥 gpg: Signature made Thu Jan 9 15:20:012014 CST using RSA key ID 27A74824gpg: Can't check signature: public key notfound
FAIL 重新下载公钥,请参见2.3 安装包校验章节。
签名验证通过,但是公钥没有被设置为完全信任
gpg: Signature made Thu Jan 9 15:29:062014 CST using RSA key ID 27A74824gpg: Good signature from "OpenPGPsignature key for Huawei software (createdon 30th Dec,2013) <[email protected]>"gpg: WARNING: This key is not certified witha trusted signature!gpg: There is no indication that thesignature belongs to the owner.Primary key fingerprint: B100 0AC3 8C41525A 19BD C087 99AD 81DF 27A7 4824
WARNING
确认KeyID为27A74824后,将华为公钥设置为可信,请参见2.3 安装包校验章节。
找不到对应的源文件
gpg: no signed datagpg: can't hash datafile: No data
FAIL 重新下载目标文件。
签名已到期 gpg: Signature made 04/24/13 10:50:29 CSTusing RSA key ID 133B64E5gpg: Expired signature from " OpenPGPsignature test key <[email protected]>"gpg: Signature expired 04/25/13 10:50:29CST
FAIL 下载更新过签名的目标文件。
签名验证通过,但是公钥已被撤销
gpg: Signature made 06/13/13 11:14:49 CSTusing RSA key ID 133B64E5gpg: Good signature from " OpenPGPsignature test key <[email protected]>"gpg: WARNING: This key has been revokedby its owner!gpg: This could mean that the signature isforged.gpg: reason for revocation: Key is no longerusedgpg: revocation comment:
WARNING
下载 新公钥和更新了签名的目标文件。
源文件找不到对应的签名文件
无 WARNING
下载目标文件对应的签名文件。
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 71
12.5 华为鲲鹏性能优化工具安装命令格式
命令格式
./tuning_kit_install.sh -i/-r-u -a/-j/-s -d=<install path> -ip=<nginx ip> -p=<nginxport> -jip=<internal ip> -jh=<java home>
参数说明
命令 参数选项 说明
-i/--install-r/--rollback-u/--upgrade
- 可选参数,选择安装类型。默认为“-i/--install”。可选择:
● -i/--install:表示选择安装工具。
● -r/--rollback:表示选择回退系统性能优化工具。
● -u/--upgrade:表示选择升级系统性能优化工具。
-a/--all-j/--java-s/--system
- 可选参数,选择安装的工具类型。默认为“-a/--all”。可设置:
● -a/--all:安装系统性能优化工具和Java性能优化工具。
● -j/--java:只安装Java性能优化工具。
● -s/--system:只安装系统性能优化工具。
-d/--directory
install path 可选参数,设置安装路径。默认为安装在“/opt”目录下。
-ip/--ip nginx ip 必配参数,表示安装工具的服务器的IP地址。
-p/--port nginx port 可选参数,表示华为鲲鹏性能优化工具的https端口,默认为8086。说明
● https端口设置范围为1024~65535,且不能设置为9090。
● 如果与系统已占用的端口冲突,会自动+1,直到找到可用端口。如系统无可用端口将终止安装。
--jip internal ip 安装Java性能优化工具时可选参数,表示Java性能优化工具内部使用的IP。默认为使用hostname -I命令获取的IP。说明如果服务器上存在多个网卡IP,该参数不能省略,需要指定具体IP。
-jh/--java_home
java home 安装Java性能优化工具时必配参数,表示服务器中安装JDK的路径(JDK工具版本要求为Open JDK 11),可以通过echo $JAVA_HOME命令获取。
进入安装包解压后的目录执行./tuning_kit_install.sh -h或者./tuning_kit_install.sh--help命令可以查看安装命令参数说明。
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 72
Usage: install [OPTION]...Set installation configuration information. Install type: -i, --install install Tuning-Kit, default -r, --rollback rollback Tuning-Kit -u, --upgrade upgrade Tuning-KitInstall tool: -a, --all install user-management, system-perf and java-perf, default -j, --java install user-management and java-perf -s, --system install user-management and system-perf Install path: -d, --directory=Directory set installation path, default is /opt Nginx IP: -ip, --ip=IP set the IP on which nginx listens Ninx prot: -p, --port=Port set the port on which nginx listens Internal IP: --jip=IP set the internal IP used by java-perf JAVA_HOME: -jh, --java_home set the JAVA_HOME used by java-perf
12.6 华为鲲鹏性能优化工具卸载命令格式
命令格式
./tuning_kit_uninstall.sh -a/-j/-s
参数说明
命令 参数选项 说明
-a/--all-j/--java-s/--system
- 可选参数,选择卸载的工具类型。默认为“-a/--all”。可设置:
● -a/--all:卸载系统性能优化工具和Java性能优化工具。
● -j/--java:卸载Java性能优化工具。
● -s/--system:卸载系统性能优化工具。
12.7 如何修改登录用户数量限制华为鲲鹏性能优化工具默认允许10个用户同时登录使用(可手动配置,配置范围为1~50,超出范围取默认值10)。手动配置步骤如下:
步骤1 使用SSH远程登录工具,进入Linux操作系统命令行界面。
步骤2 执行如下命令进入配置文件所在目录,“/opt/tuning_kit”为华为鲲鹏性能优化工具安装目录,请根据实际替换。
cd /opt/tuning_kit/user_management/visualization/Django/user_management
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 73
步骤3 修改登录用户限制。
1. 执行如下命令修改“config.ini”文件中的内容。
vi config.ini2. 定位如下字段并修改其中的数字为允许登录的用户数量。
[users]online_max = 10
3. 输入:wq保存并退出。
----结束
华为鲲鹏 Java 性能优化工具用户指南 12 FAQ
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 74
A 附录
A.1 术语
R
REST 一种软件架构风格。通常情况下,REST服务使用HTTP服务作为通信协议,并使用HTTP原语表达服务请求。
A.2 缩略语
C
CPU Central Processing Unit 中央处理单元
H
https Hypertext Transfer ProtocolSecure
HTTPS加密协定
I
IPC Instructions Per Clock Cycle 指令/时钟周期
ISV Independent Software Vendor 独立软件供应商
J
JDK Java Development Kit Java开发工具包
O
OS Operating System 操作系统
P
PC Personal Computer 个人计算机
PID Process Identification 进程标识
华为鲲鹏 Java 性能优化工具用户指南 A 附录
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 75
S
SSH Secure Shell Protocol 安全外壳协议
T
TID Thread Identification 线程标识
Y
yum Yellow dog Updater,Modified Shell前端软件包管理器
华为鲲鹏 Java 性能优化工具用户指南 A 附录
文档版本 01 (2020-02-29) 版权所有 © 华为技术有限公司 76