性能测试相关工具介绍

性能测试工具
1.top
监控每一个进程的资源占用
可以查看load average,cpu的id、us、sy使用的百分比,mem的使用情况等。
例如:top -ab -n 1 |grep httpd

top命令详解:https://www.cnblogs.com/LeoBoy/p/7976612.html
https://blog.csdn.net/yjclsx/article/details/81508455

2.sysstat
统计系统的各种资源占用情况

命令:
yum list sysstat :查看sysstat是否安装
yum install sysstat.x86_64 -y:安装sysstat
yum list systat
cd /etc
cat crontab
ls cron
cat cron.d/sysstat
pwd
cat /etc/cron.d/sysstat
cd /var/log/sa
sar -q -f sa25 :sar命令,查看负载
runq-sz: Run quene length(number of tasts waiting for run time).等待执行的任务队列长度。
越长阻塞越严重。
plist-sz: Number of tasts in the task list.队列中的任务总数。
Idavg-1: System load average for the last minute. The load average is calculated as the
average number of runnable or running tasks (R state),and the number of tasks in
uninterruptible sleep(D state) over the specified interval.1分钟、5分钟、15分钟内系统负载描
述。值是通过执行中的任务和等待执行的任务个数的平均值得到的。la>CPU总数时,表示CPU压力大。

sar -n DEV -f sa25:
DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统
计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。他们可以单独或者一起使用。
rxpck/s: 每秒钟接受的数据包
txpck/s: 每秒钟发送的数据包
rxbyt/s: 每秒钟接收的字节数
txbyt/s: 每秒钟发送的字节数
rxcmp/s: 每秒钟接收的压缩数据包
txcmp/s: 每秒钟发送的压缩数据包
rxmcst/s: 每秒钟接收的多播数据包


sar -n NFS -f sa25: 查看发送接收数据包
IFACE:LAN接口
rxerr/s: 每秒钟接受的坏数据包
txerr/s: 每秒钟发送的坏数据包
coll/s: 每秒冲突数
rxdrop/s: 因为缓冲充满,每秒钟丢弃的已接受数据包数
txdrop/s: 因为缓冲充满,每秒钟丢弃的已发送数据包数
txcarr/s: 发送数据包时,每秒载波错误数
rxfram/s: 每秒接收数据包的帧对齐错误数
rxfifo/s: 接收的数据包每秒FIFO过速的错误数
txfifo/s: 发送的数据包每秒FIFO过速的错误数

sar -b -f sa08: 查看I/O
tps: 每秒钟物理设备的I/O请求次数
rtps: 每秒钟从物理设备读入的请求次数
wtps: 每秒钟向物理设备写入的请求次数
bread/s: 每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s: 每秒钟向物理设备写入的数据量,单位为 块/s

sar -p -f sa08: 查看cpu占用率
PRI:进程优先权,代表这个进程可被执行的优先级,其值越小,优先级就越高,越早被执行。
NI: 进程Nice值,进程可被执行的优先级的修正数值
PRI(new)= PRI(old)+nice
%nice: 改过优先级的进程CPU占用率
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比

sar -r -f sa08: 查看内存
buffer/cached是为了提高文件读取的性能的磁盘缓存
Page cache实际上是针对文件系统的,是文件的缓存
Buffer cache 是针对磁盘块的缓存
kbcommit 为了保证程序的正常运行需要的内存百分比。

sar -B -f sa08: 查看内存换页
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s:每秒钟产生的主缺页数.
pgfree/s:每秒被放入空闲队列中的页个数
pgscank/s:每秒被kswapd扫描的页个数
pgscand/s:每秒直接被扫描的页个数
pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比
fault 内存没有命中时就是一个fault
majflt = major faults,当发生major faults 的时候就会发生内存换页

sar -W -f sa08: 查看系统交换活动

sar -d -f sa08: 查看设备使用情况
tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.
rd_sec/s:每秒读扇区的次数.
wr_sec/s:每秒写扇区的次数.
avgrq-sz:平均每次设备I/O操作的数据大小(扇区).
avgqu-sz:磁盘请求队列的平均长度.
await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).
svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
%util:I/O请求占CPU的百分比,比率越大,说明越饱和.
1. avgqu-sz 的值较低时,设备的利用率较高。
2. 当%util的值接近 1% 时,表示设备带宽已经占满。

sar命令详解:http://lovesoo.org/linux-sar-command-detailed.html?nuxuvo=j9nef2

3.评估磁盘读写性能极限
fio -filename=/data/test -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=16k -size
2G -numjobs=10 -tuntime=30 -group_reporting -name=mytest13

命令:
yum list fio
输入命令:fio -filename=/data/test -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=16k -size
2G -numjobs=10 -tuntime=30 -group_reporting -name=mytest13

IO测试工具之fio详解 :https://www.cnblogs.com/raykuan/p/6914748.html

4.Jmeter
Apache组织开发的性能测试工具
特性:
Web-HTTP,HTTPS
SOAP
FTP
LDAP
Message-oriented middleware(MOM)via JMS
MongoDB(NoSQL)
TCP
Others
原文地址:https://www.cnblogs.com/jingzaixin/p/11417761.html