一次性能问题定位

定位问题就像医生看病,一切要讲究证据,然后才能对症下药,做到有的放矢,前几天一个项目性能压测,QPS老是上不去,心里痛痛的,下定决心排查下瓶颈到底在哪。

大体说一下排查的过程:

1、任务启动

2、找到对应任务的进程ID

3、输入top命令,再按1,发现CPU利用率特别高,24核的机器,每核的利用率基本上到了80%左右。开始怀疑有一些线程逻辑处理上一直占着CPU,

4、输入Jstack 进程ID,查看堆栈信息,发现跟项目代码相关的堆栈信息如下:

从图中可以看出线程一直处于RUNNABLE,一个是在对数据进行压缩,一个是在数据序列化,查看相关代码发现,这个类中的逻辑是1、数据序列化 ,2、数据压缩,3、发送metaq消息,确认CPU利用率很高是在这个类了,那就用排除法来看哪一段耗性能高,一块块代码注释,去压测,发现影响因子最高的是压缩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值