性能测试-服务端瓶颈分析思路

 

阅读更多性能测试文章,请扫码关注公众号ios

或者微信公众号搜索 测试驿栈后端

概述

性能测试中,对服务端的指标监控也是很重要的一个环节。经过对各项服务器性能指标的监控分析,能够定位到性能瓶颈。服务器

后端性能指标有CPU,内存,网络,I/O等等微信

分析思路

  • 总体系统CPU利用率
  • 内存利用率
  • 磁盘I/O的利用率和延迟
  • 网络利用率

CPU定位分析

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”

错误有计数   

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IO定位分析

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

有错误信息
相关文章
相关标签/搜索