原文转自:https://www.jianshu.com/p/19474f0d044f
概述:性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。
后端性能指标有CPU,内存,网络,I/O等等。
分析思路:整体系统CPU利用率、内存利用率、磁盘I/O的利用率和延迟、网络利用率。
CPU定位分析:CPU利用率大于50%,需要注意;大于70%,需要密切关注;高于90%,情况比较严重。
监控命令:vmstat、sar、dstat、mpstat、top、ps
![](https://upload-images.jianshu.io/upload_images/16753854-abbbcbabd4403486.png)
内存定位分析:当物理内存不够时,会使用swap分区,所以性能测试过程中需要关注swap和mem的使用情况。
物理内存不够,大量的内存置换到swap空间,可能导致CPU和I/O的瓶颈。
监控命令:vmstat、sar、dstat、free、top、ps等。
![](https://upload-images.jianshu.io/upload_images/16753854-bea781ab4107905f.png)
网络定位分析:监控命令:sar、ifconfig、netstat,以及查看net的dev速率。
通过查看发现收发包的吞吐率达到网卡的最大上限,网络数据报文有因为这类原因而引起的丢包、阻塞等现象都证明当前网络可能存在瓶颈。
为了减小网络对性能测试的影响,一般我们都在局域网中进行测试执行。
![](https://upload-images.jianshu.io/upload_images/16753854-383d0f4cd6f7d775.png)
IO定位分析:I/O读写频繁的时候,如果I/O得不到满足会导致应用的阻塞。
需要考虑I/O的TPS、平均I/O数据、平均队列长度、平均服务时间、平均等待时间、IO利用率(磁盘Busy Time%)等指标
监控命令:sar、iostat、iotop。
![](https://upload-images.jianshu.io/upload_images/16753854-3f467c7536cc1482.png)