• 性能测试服务器瓶颈定位思路


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

    后端性能指标有CPU,内存,网络,磁盘I/O   队列 等

    还需要关注后端中间件的配置,比如Tomcat  redis  消息队列服务器  负载均衡ngnix  

    主从数据库的一些参数配置情况,需要进行了解并监控信息等等......

    服务器的瓶颈分析需要了解整体的项目组成结构才可更好的分析性能瓶颈以及所要关注的东西

    思路分析

      整体系统CPU利用率

      内存利用率

      磁盘I/O的利用率和延迟

      网络利用率

    下面是性能测试环境,服务器的常用命令

    CPU定位分析

    CPU利用率大于50%,需要注意;大于75%,需要密切关注;高于90%-95%,情况比较严重;

    监控命令:vmstat、sar、dstat、mpstat、top、ps

    类型 度量方法 衡量标准
    利用率

    1、vmstat 统计1-%idle

    2、sar -u 统计1-%idle

    3、dstat 统计1-%idl

    4、mpstat -P ALL 统计1-%idle

     

    注意>=50%

    告警>=70%

    严重>=90%

    满载  

    1、vmstat的r值> cpu逻辑颗数

    2、sar -q ,“runq-sz”>cpu逻辑颗数

     运行队列大于1时,证明已经有一定的负载

    内存定位分析

    当物理内存不够时,会使用swap分区,所以性能测试过程中需要关注swap和mem的使用情况。

    物理内存不够,大量的内存置换到swap空间,可能导致CPU和I/O的瓶颈。

    监控命令:vmstat、sar、dstat、free、top、ps等

    类型

    度量方法

    衡量标注

    占用率

    1、free 查看使用情况

    2、vmstat

    3、sar -r

    4、ps

    注意>=50%

    告警>=70%

    严重>=80%

    满载

    1、vmstat的si/so比例,swapd占比

    2、sar -W 查看次缺页数

    3、dmesg | grep killed

    1、so数值大,且swapd已经占比很高,内存已经饱和

    2、sar命令次缺页多意味内存已经饱和

    3、内存不够用会触发内核的OOM机制

    网络定位分析

    监控命令: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/s  txdrop/s有计数

    有丢包统计
    错误

    1、ifconfig,“errors”

    2、netstat -i,RX-ERR TX-ERR

    3、sar -n EDEV,rxerr/s   txerr/s 

    4、ip -s link, “errors”

    错误有计数   

      

    IO定位分析

    I/O读写频繁的时候,如果I/O得不到满足会导致应用的阻塞。

    需要考虑I/O的TPS、平均I/O数据、平均队列长度、平均服务时间、平均等待时间、IO利用率(磁盘Busy Time%)等指标

    监控命令:sar、iostat、iotop

    类型 度量方法 衡量标准
    使用情况

    1、iostat -xz,“%util”

    2、sar -d,“%util”

    3、cat /proc/pid/sched | grep iowait

    注意>=40%

    告警>=60%

    严重>=80%

    满载

    1、iostat -xnz,“avgqu-sz ”>1

    2、iostat await>70

    IO疑似满载
    错误

    1、dmseg 查看io错误

    2、smartctl /dev/sda

    有错误信息
     
     
  • 相关阅读:
    [ AHOI 2013 ] 作业 & [ BZOJ 3809 ] Gty的二逼妹子序列
    [ CQOI 2018 ] 异或序列
    [ Luogu 3709 ] 大爷的字符串题
    偷学笔记
    ZJOI2019 补题记录
    Bluestein's Algorithm
    「九省联考 2018」制胡窜
    Codeforces 1349D Bear and Biscuits
    AGC021E Ball Eat Chameleons
    AGC036F Square Constraints
  • 原文地址:https://www.cnblogs.com/mumulog/p/11455018.html
Copyright © 2020-2023  润新知