jprofiler性能分析工具使用

1、安装

window客户端和linux版本必须相同,推荐都是用9.1.1,如下:
下载地址: https://pan.baidu.com/s/1OpFNiHDIJ4ZgiK2b14moNg
提取码: g4fp
linux上传到某个目录,解压即可
windows直接双击exe,下一步下一步即可
序列号:

L-Larry_Lau@163.com#36573-fdkscp15axjj6#25257
L-Larry_Lau@163.com#5481-ucjn4a16rvd98#6038
L-Larry_Lau@163.com#99016-hli5ay1ylizjj#27215
L-Larry_Lau@163.com#40775-3wle0g1uin5c1#0674
L-Larry_Lau@163.com#7009-14frku31ynzpfr#20176
L-Larry_Lau@163.com#49604-1jfe58we9gyb6#5814
L-Larry_Lau@163.com#25531-1qcev4yintqkj#23927
L-Larry_Lau@163.com#96496-1qsu1lb1jz7g8w#23479
L-Larry_Lau@163.com#20948-11amlvg181cw0p#171159

2、连接使用

连接待分析的java进程
linux启动:
到jprofiler的bin目录下,启动jpenable

./jpenable

选择待分析的java进程,
选择GUI模式
输入可以远程访问的端口号
注意事项
如果为docker容器,需要开放端口
如:映射容器的8888端口到宿主机,windows客户端连接宿主机的端口

3、性能分析

3.1 sql分析

进入databases-jdbc界面,开启record
记录 sql、单次时间、执行次数等数据
通过该页面我们可以看到压测过程中sql的执行情况
可以定位到如下问题:

  1. sql是否耗时过长 – 考虑是否需要添加或优化索引
  2. 是否存在重复sql – 优化代码,减少数据库操作
  3. 某些sql每次都查询数据 – 考虑加入缓存机制

3.2 内存泄漏

查看每次GC后,已用内存的大小,如果越来越大就可以怀疑有对象没有释放,我们可以在memory模块分析哪些对象数量越来越多

3.3 方法耗时

进入CPU界面,一层一层点开,找到最后一层耗时较长的方法
该步骤可以找开发一起,毕竟他写的代码他比较熟
例如:
支付压测过程中发现fromxml、toxml方法耗时较长,占用cpu时间30%以上
调优:修改微信支付SDK,引入xstream缓存,CPU耗时降到5%以下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值