后台服务的变慢排查思路(轻量级应用服务器中测试)

在实习时接触的是分布式系统,公司实现了一套系统的日志和性能监控架构,对问题的排查多是查异常日志调接口。近来开始熟悉Linux系统,发觉合格的程序员除了异常这个突破点,也应掌握对系统本身性能问题的诊断能力。就像医生诊断病人一样诊断服务变慢的机器,很好玩的样子。
大概整理出这样的思路:
自上而下,做系统系能分析,主要是CPU,内存和IO三大块
1.通过“top”命令查看负载情况
在这里插入图片描述
第一行load average表示:1分钟平均负载,5分钟平均负载,15分钟平均负载分别是0.02,0.10,0.09。这些值不超过50%也没有明显升高迹象。若短期均值明显高于长期则负载很重。‘
可进一步排查最耗CPU的Java线程

top -H //"-H"表示thread模式,也可配合grep更精准的定位

最后利用jstack获取线程数,对比相应ID即可。
2.内存使用

"free"命令查看内存使用情况

在这里插入图片描述
JVM的性能不接受大量swap的使用
3.IO问题

  • 网络IO
  • 磁盘IO-----"iostat"命令判断磁盘状况
    在这里插入图片描述

JVM 层面的性能分析

jstat -help命令可查看分析GC的具体流程

jstat - [-t] [-h] [ []]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值