性能测试分析

本文主要介绍 cpu,内存,网络,I/O 定位分析方法

瓶颈阈值分析思维导图与手册

如下图系统场景中,可以按照系统性能资源因素分为 CPU,内存,网络,IO 等四块区域来进行监控分析定位

系统监控思维导图.png

  • 主要命令:top, sar, dstat, mpstat

CPU定位分析

常用命令:vmstat, sar, dstat, mpstat, top, ps

  • 使用情况:

度量方法:

  1. 通过 vmstat 统计 1-id 的计数

  2. 通过 sar -u 统计 1-%idle 的计数

  3. 通过 dstat 命令 统计 1-idl 的计数

  4. 通过 mpsat -P ALL 统计 1-%idle 的计数

  5. 通过 ps 命令统计 cpu 的计数

衡量标准:注意 >=50%,告警 >=70%,严重 >=90%

  • 满载

度量方法:

  1. vmstat 的 r 计数 > CPU 逻辑颗数

  2. sar -q, "runq-sz">CPU 逻辑颗数

  3. dstat -p, "run">CPU 逻辑颗数

衡量标准:

运行的队列大于1时,证明已经有一定的负载了,不过这个计数也不绝对,需进一步分析其他的资源情况来断定是否 CPU 已经满负荷动作。

  • 错误

度量方法:

(9)通过perf 工具去捕获处理器的错误信息,需处理器支持

衡量标准:需处理器支持

内存定位分析

常用分析命令:vmstat, sar -r, dstat, free, top, ps

  • 使用情况:

衡量标准:注意>=50%,告警 >= 70%,严重 >= 80%

  • 满载

度量方法:

  1. vmstat 的 si/so 比例辅助 swapd 和 free 利用

  2. sar -W 查看次缺页数

  3. 查看内核日志有无 OOM 机制 kill 进程

  4. dmesg | grep killed

衡量标准:
(1)so 数值大,且 swapd 已经占比很高,内存肯定已经饱和。
(2)sar 命令次缺页多意味已经在不停地和 swap 打交通,证明内存已经饱和
(3)当内存不够用会触发内核的 OOM 机制

  • 错误

度量方法:

  1. 查看内核有无 physical failures

  2. 通过工具 如 valgrind 等进行检查

衡量标准:有计数

网络定位分析

常用分析命令:sar, ifconfig, netstat 以及查看 net 的 dev 速率

通过查看发现收发包的吞吐速率达到网卡的最大上限,网络数据报文有因为这类原因而引发的丢包、阻塞等现象都证明当前网络可能存在瓶颈。

  • 使用情况:

度量方法:

  1. sar -n DEV 的收发计数大于网卡上限

  2. ifconfig RX/TX 带宽超过网卡上限

  3. cat /proc/net/dev 的速率超过上限

  4. nicstat 的 util 基本满负荷

衡量标准:

  1. 收发包的吞吐速率达到网卡上限

  2. 有延迟

  3. 有丢包

  4. 有阻塞

  • 满载

度量方法:

  1. ifconfig dropped 有计数

  2. netstat -s "segments retransmited" 有计数

  3. sar -n EDEV rxdrop txdrop 有计数

衡量标准:统计的丢包有计数证照已经满了

  • 错误

度量方法:

  1. ifconfig, "errors"

  2. netstat -i, "RX-ERR"/"TX-ERR"

  3. sar -n EDEV, "rxerr/s" "txerr/s"

  4. ip -s link, "errors"

衡量标准:错误有计数

IO 定位分析

常用分析命令:sar, iostat, iotop

  • 使用情况:

度量方法:

  1. iostat -XZ, "%util"

  2. sar -d, "%util"

  3. iotop 的利用率很高

  4. cat /proc/pid/sched | grep iowait

衡量标准:注意 >= 40%, 告警 >= 60%, 严重 >=80%

  • 满载

度量方法:

  1. iostat -xnz l, "avgqu-sz">1

  2. iostat await > 70

衡量标准:IO 已经有满载嫌疑

  • 错误

度量方法:

  1. dmesg 查看 io 错误

  2. smartctl /dev/sda

衡量标准:有信息

你可能感兴趣的:(性能测试分析)