Jmeter(二十二):硬件性能监控指标

硬件性能监控指标


一、性能监控初步介绍


性能测试的主要目标


1.在当前的服务器配置情况,最大的用户数


2.平均响应时间ART,找出时间较长的业务


3.每秒事务数TPS,服务器的处理能力


性能测试涉及的内容


1.客户端性能测试:web前端性能、app性能


2. 网络性能测试


3. 服务器应用程序性能


4. 服务器硬件性能


5. 数据库的性能


二、linux性能监控--CPU


CPU相关的指标


1. CPU使用率:sys% user%(系统的cpu使用率和用户的cpu使用率)


2. 队列长度


1. 查看CPU使用率


使用vmstat 或top 查看CPU使用情况 us 和sy


标准: cpu使用率: us+sy不能超过75%,偶尔可以100%


vmstat 5:每5秒采集一次



编辑


vmstat 主要参数说明



2.查看队列长度


使用vmstat -5 执行,查看 r列的数据


标准:队列长度不能超过2,有队列的产生,或者CPU处理不过来


r值<=2


r值在[3,5]


r值在(5,10]


r值在 >10



编辑


3.查看CPU使用较大的进程


ps -aux查看进程的CPU使用情况


目的:找出高CPU的进程


ps auxw|head -1;ps auxw|sort -rn -k3|head -1 (查看CPU使用较大的前10个进程)



编辑




三、linux性能监控--内存


核心指标


1. 可用物理内存的比例


2. 是否使用了虚拟内存


3.是否存在内存泄漏


1. 查看物理内存的使用情况


free命令查看使用情况



编辑


标准:linux的可用物理内存可为0,全部用完,只要不使用虚拟内存


2.查看是否使用了虚拟内存


方法1: vmstat 查看si so列


标准: si 和so大于0,表示物理内存不够用或者内存泄露了



编辑


方法2: sar –W 10 3 (10和3代表了每个10秒监控一次,总共监控3次)


标准:值大于0,就说明内存已经饱和了



编辑


pswpin/s:每秒系统换入的交换页面(swap page)数量


pswpout/s:每秒系统换出的交换页面(swap page)数量


3. 找出高内存使用的进程


3.1内存消耗最多的前10个进程


ps auxw|head -1;ps auxw|sort -rn -k4|head -10


3.2 虚拟内存使用最多的前10个进程


ps auxw|head -1;ps auxw|sort -rn -k5|head


%MEM 进程的内存占用率


VSZ 进程所使用的虚存的大小


RSS 进程使用的驻留集大小或者是实际内存的大小




四、linux性能监控--硬盘IO的监控


核心指标


1.硬盘的使用率


2.物理硬盘驱动器忙于读或写入的时间


工具:iostat、iotop、pt-ioprofile


1. 查看硬盘的使用率: df -lh



编辑


2. 查看具体的那个硬盘的IO较高:


使用iostat 工具来查


ostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该 命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所 需的统计信息


安装iostat 安装命令: yum install sysstat



编辑


语法: iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device
[...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]


-c 显示CPU使用情况
-d 显示磁盘使用情况
-k 以K为单位显示
-m 以M为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS使用情况
-p 可以报告出每块磁盘的每个分区的使用情况
-t 显示终端和CPU的信息 -x 显示详细信息


iostat -d -k 2


参数 -d 表示,显示设备(磁盘)使用状态;-k 某些使用 block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。



编辑


iostat -x 5 查看:%util



编辑


%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒);


如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。


标准:物理硬盘驱动器忙于读或写入的时间 40% 60% 80%


3. 查看哪个进程耗IO比较高


使用iotop 命令: 查询出较大的IO 的进程
iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息
安装:yum install iotop
查看:iotop 按 o 只显示有磁盘 IO 活动的进程



编辑


语法:iotop [OPTIONS]



4. 定位来源文件


pt-ioprofile定位负载来源文件,通过iotop或ps找出负载较高的进程


安装: 下载地址https://www.percona.com/downloads/percona-toolkit/LATEST/


CentOS 7下安装:


yum -y install https://www.percona.com/downloads/perconatoolkit/3.0.1/binary/redhat/7/x86_64/percona-toolkit-3.0.1-1.el7.x86_64.rpm


使用:


命令格式:pt-ioprofile --profile-pid=xxx


     pt-ioprofile --profile-pid=xxx --cell=size


pt-ioprofile --profile-pid=需要监控的PID --cell=size


pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析。


步骤1:iotop 查询出高io的pid
步骤2:pt-ioprofile --profile-pid=需要监控的PID --cell=size


对于定位问题更有用的是通过IO的吞吐量来进行定位。


使用参数 --cell=sizes,该参数将结果已 B/s 的方式展示出来


pt-ioprofile --profile-pid=需要监控的PID --cell=sizes




五、linux性能监控--网络监控


网络的监测是所有 Linux 子系统里面最复杂的,有太多的 因素在里面,比如:延迟、阻塞、冲突、丢包等,更糟的是与 Linux 主机相连的路由器、交换机、无线信号都会影响到整体 网络并且很难判断是因为 Linux 网络子系统的问题还是别的设 备的问题,增加了监测和判断的复杂度。


核心指标


1. 网络带宽是否够用
2. 丢包率、错误重传
3. 网络延迟/堵塞
4. 网络错误


监控网络操作步骤


1.查每秒接受和发送的数据量,检查当前带宽是否够用


使用nicstat 工具查看网卡的利用率


nicstat可以提供更加全面的网卡信息。



nicstat下载


cd /usr/local/src


wget http://nchc.dl.sourceforge.net/project/nicstat/nicstat-1.92.tar.gz


nicstat安装


tar -xzf nicstat-1.92.tar.gz
cd nicstat-1.92
cp Makefile.Linux Makefile
make


nicstat使用


./nicstat.sh



编辑


Time列:表示当前采样的响应时间


lo and eth0 : 网卡名称。
rKB/s : 每秒接收到千字节数。
wKB/s : 每秒写的千字节数。
rPk/s : 每秒接收到的数据包数目。
wPk/s : 每秒写的数据包数目。
rAvs : 接收到的数据包平均大小。
wAvs : 传输的数据包平均大小。
%Util : 网卡利用率(百分比)。
Sat : 网卡每秒的错误数.网卡是否接近饱满的一个指标.尝试去诊断网络问题的时候,推荐使用-x选项去查看更多的统计信息。


./nicstat.sh –t 用于查看tcp信息



编辑


InKB : 表示每秒接收到的千字节
OutKB : 表示每秒传输的千字节
InSeg : 表示每秒接收到的TCP数据段(TCP Segments)
OutSeg : 表示每秒传输的TCP数据段(TCP Segments)
Reset : 表示TCP连接从ESTABLISHED或CLOSE-WAIT状态直接转变为CLOSED状态的次数
AttF : 表示TCP连接从SYN-SENT或SYN-RCVD状态直接转变为CLOSED状态的次数,再加上TCP连接从SYN-RCVD状态直接转变为LISTEN状态的次数
%ReTX : 表示TCP数据段(TCP Segments)重传的百分比.即传输的TCP数据段包含有一个或多个之前传输的八位字节
InConn : 表示TCP连接从LISTEN状态直接转变为SYN-RCVD状态的次数
OutCon : 表示TCP连接从CLOSED状态直接转变为SYN-SENT状态的次数
Drops : 表示从完成连接(completed connection)的队列和未完成连接(incomplete connection)的队列中丢弃的连接次数


./nicstat.sh -u 用于查看UDP信息



编辑


InDG : 每秒接收到的UDP数据报(UDP Datagrams)
OutDG : 每秒传输的UDP数据报(UDP Datagrams)
InErr : 接收到的因包含错误而不能被处理的数据包
OutErr :因错误而不能成功传输的数据包


./nicstat.sh –x 查看扩展信息


./nicstat.sh -a 等同于执行-t -u -x


2. 丢包率、错误重传


查看丢包方法1:使用ifconfig,查看 dropped是否有计数,有计数的话存在丢包的情况



编辑


查看丢包方法2:sar -n EDEV 查看 #rxdrop/s


当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目



编辑


查看丢包的方法3:网络延迟:ping -c 次数 服务器IP或域名 查看packet los


例如: ping –c 100 www.baidu.com



编辑


错误重传: ./nicstat.sh -t 查看%ReTX : TCP报文重传率
标准:<1%



编辑


3.网络延迟


网络延迟:ping -c 次数 服务器IP或域名
标准:avg<100ms
例如: ping –c 100 www.baidu.com



编辑


4.网络错误


方法1: sar -n EDEV 查看:#txerr/s 每秒钟发送的数据包错误数



编辑


方法2: ifconfig 出现:"errors"



编辑


标准:不能出现错误


编辑


重点:学习资料


600g的学习资料懂的都懂


编辑


编辑

展开阅读全文

页面更新:2024-03-04

标签:性能   使用率   队列   磁盘   进程   次数   内存   指标   状态   编辑   硬件   时间

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top