生产环境服务器变慢,谈谈诊断思路和性能评估

🍀 整机:top

📌 uptime,系统性能命令的精简版

🍀 CPU:vmstat

📌 查看 CPU(包含不限于)

在这里插入图片描述
vmstat -n 2 3
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数

  • procs
    • r:运行和等待CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大
    • b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等
  • cpu
    • us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,优化程序;
    • sy:内核进程消耗的CPU时间百分比;
    • us + sy 参考值为80%,如果 us + sy 大于80%,说明可能存在CPU不足
    • id:处于空闲的CPU百分比
    • wa:系统等待IO的CPU时间百分比
    • st:来自于一个虚拟机偷取的CPU时间的百分比
      在这里插入图片描述
📌 查看额外
⏳ 查看所有cpu核信息
  • mpstat -P ALL 2
⏳ 每个进程使用cpu的用量分解信息
  • pidstat -u 1 -p 进程编号

🍀 内存:free

📌 应用程序可用内存数

在这里插入图片描述

  • 经验值
    • 应用程序可用内存/系统物理内存 > 70%内存充足
    • 应用程序可用内存/系统物理内存 < 20%内存不足,需要增加内存
    • 20% < 应用程序可用内存/系统物理内存 < 70%内存基本够用
📌 查看额外
⏳ pidstat -p 进程号 -r 采样间隔秒数

🍀 硬盘:df

📌 查看磁盘剩余空间数

在这里插入图片描述

🍀 磁盘IO:iostat

📌 磁盘I/O性能评估

在这里插入图片描述
磁盘块设备分布
rkB/s 每秒读取数据量kB
wkB/s每秒写入数据量kB
svctm I/O请求的平均服务时间,单位毫秒;
await I/O请求的平均等待时间,单位毫秒;值越小,性能越好;
util 一秒钟有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
rkB/swkB/s 根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。
svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,
如果 await 的值远高于 svctm 的值,则表示 I/O 队列等待太长,需要优化程序或更换更快磁盘。

📌 查看额外
⏳ pidstat -d 采样间隔秒数 -p 进程号

🍀 网络IO:ifstat

📌 默认本地没有,下载 ifstat

在这里插入图片描述
wget http://gael.roualland.free.fr/ifstat/fistat-1.1.tar.gz
tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure
make
make install

📌 查看网络 IO

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值