阅读更多性能测试文章,请扫码关注公众号ios
或者微信公众号搜索 测试驿栈后端
性能测试中,对服务端的指标监控也是很重要的一个环节。经过对各项服务器性能指标的监控分析,能够定位到性能瓶颈。服务器
后端性能指标有CPU,内存,网络,I/O等等微信
CPU利用率大于50%,须要注意;大于70%,须要密切关注;高于90%,状况比较严重。网络
监控命令:vmstat、sar、dstat、mpstat、top、ps性能
类型 | 度量方法 | 衡量标准 |
利用率 | 一、vmstat 统计1-%idle测试 二、sar -u 统计1-%idlespa 三、dstat 统计1-%idlblog 四、mpstat -P ALL 统计1-%idle队列 |
注意>=50% 告警>=70% 严重>=90% |
满载 | 一、vmstat的r值> cpu逻辑颗数 二、sar -q ,“runq-sz”>cpu逻辑颗数
|
运行队列大于1时,证实已经有必定的负载 |
当物理内存不够时,会使用swap分区,因此性能测试过程当中须要关注swap和mem的使用状况。
物理内存不够,大量的内存置换到swap空间,可能致使CPU和I/O的瓶颈。
监控命令:vmstat、sar、dstat、free、top、ps等
类型 | 度量方法 |
衡量标注 |
占用率 | 一、free 查看使用状况 二、vmstat 三、sar -r 四、ps |
注意>=50% 告警>=70% 严重>=80% |
满载 | 一、vmstat的si/so比例,swapd占比 二、sar -W 查看次缺页数 三、dmesg | grep killed |
一、so数值大,且swapd已经占比很高,内存已经饱和 二、sar命令次缺页多意味内存已经饱和 三、内存不够用会触发内核的OOM机制 |
监控命令:sar、ifconfig、netstat,以及查看net的dev速率。
经过查看发现收发包的吞吐率达到网卡的最大上限,网络数据报文有由于这类缘由而引发的丢包、阻塞等现象都证实当前网络可能存在瓶颈。
为了减少网络对性能测试的影响,通常咱们都在局域网中进行测试执行。
类型 | 度量方法 | 衡量标准 |
使用状况 | 一、sar -n DEV 的收发计数大于网卡上限 二、ifconfig RX/TX宽带超过网卡上限 三、cat /proc/net/dev的速率超过上限 四、nicstat的util基本满负荷 |
一、收发包的吞吐率达到网卡上限 二、有延迟 三、有丢包 四、有阻塞 |
满载 | 一、ifconfig dropped 有计数 二、netstat -s "segments retransmited"有计数 三、sar -n EDEV,rxdrop/s txdrop/s有计数 |
有丢包统计 |
错误 | 一、ifconfig,“errors” 二、netstat -i,RX-ERR TX-ERR 三、sar -n EDEV,rxerr/s txerr/s 四、ip -s link, “errors” |
错误有计数 |
I/O读写频繁的时候,若是I/O得不到知足会致使应用的阻塞。
须要考虑I/O的TPS、平均I/O数据、平均队列长度、平均服务时间、平均等待时间、IO利用率(磁盘Busy Time%)等指标
监控命令:sar、iostat、iotop
类型 | 度量方法 | 衡量标准 |
使用状况 | 一、iostat -xz,“%util” 二、sar -d,“%util” 三、cat /proc/pid/sched | grep iowait |
注意>=40% 告警>=60% 严重>=80% |
满载 | 一、iostat -xnz,“avgqu-sz ”>1 二、iostat await>70 |
IO疑似满载 |
错误 | 一、dmseg 查看io错误 二、smartctl /dev/sda |
有错误信息 |