性能测试指南 | 一些实用的排查命令(未完待续)

0. 前提

目前的比较粗糙,没有描述前因后果,后续添加场景分析

1. 查看内存占用情况

# 查看前10的内存占用
ps aux|head -1 ;ps aux|grep -v PID|sort -rn -k +3|head 
# 查看占有100Mb的目录
find / -size +100M -exec ls -lh {} \;

查看前10的内存占用
查看占有100Mb的目录

2. mysql连接数

# 查看ip与对应连接数
show variables like '%max_connections%'
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip
# 看到总的mysql连接数
select count(*) from information_schema.processlist;

查看ip与对应连接数

show processlist;

查看process

3. 进程、线程连接数

top -H -p 23433
pstree -p
#  查看线程数
pstree -p {pid} | wc -l 
# 查看某pid进程下的线程
pstree -apnh -p {pid}

查看进程与线程

查看线程树

4.GC频率(回收日志)、JVM内存情况

# 查看GC情况
# S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
# S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
# E: 年轻代中Eden(伊甸园)已使用的占当前容量百分比
# O: old代已使用的占当前容量百分比
# P: perm代已使用的占当前容量百分比
# YGC: 从应用程序启动到采样时年轻代中gc次数
# YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
# FGC: 从应用程序启动到采样时old代(全gc)gc次数
# FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
# GCT: 从应用程序启动到采样时gc用的总时间(s)
jstat -gc {pid} {time}
jstat -gc  20889 3000
jstat -gcutil {pid} {time} {times}
jstat -gcutil 20889 1000 5
jstat -class 20889 5000 5

# 查看GC中堆内存详细使用情况
jmap -heap 20889

# 快捷键m
top -Hp 20889

查看GC情况
查看GC情况

jmap-查看GC中堆内存详细使用情况

top-查看内存使用

5.查看IO,响应的时间、吞吐量

iostat -x 10 3
# yum install iotop -y
iotop
vmstat 2 5
iostat -dx

# 下载完,直接命令行 nload,会看到 Curr/Avg/Min/Max 等参数
# 如果Cur持续很长时间接近 带宽峰值,基本上可以确定达到瓶颈了,但是不排除有管理员上传或者下载软件,所以需要持续观察一段时间。
nload

iostat
iostat

iotop

vmstat

nload
nload

6.查看堆栈

 jstack {pid}

查看堆栈

7. 查看基本的系统信息

ulimit -a

查看基本的系统信息

8.当前tcpip连接的状态

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

当前tcpip连接的状态-日常
当前tcpip连接的状态-压测

9. 压测检测-飞行记录

# 1.进入jdk的bin目录,找到JFR
# 2.jcmd+jfr  飞行记录,查看帮助
jcmd 15164 help
# 3.检查当前状态,是否加锁
jcmd 15164 VM.check_commercial_features
# 4.解锁
jcmd 15164 VM.unlock_commercial_features
# 5.开启JFR
jcmd 15164 JFR.start 
# 6.查找到对应的recording日志,并保存对应id的记录到test.jfr
jcmd 15164 JFR.dump filename=/xxx/jmeter/test.jfr recording=1  记录
# 7.结束JFR
jcmd 15164 JFR.stop
# 8. 将jrf文件下载下来,在本地的jdk工具中,打开这个记录,可以可视化的查看内存、堆栈等情况

飞行记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值