一、性能测试概要
性能测试就是通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。
性能测试的目标 是评估系统的性能瓶颈,预测系统的最大用户负载能力。
性能测试的两个关键点:1、模拟大量并发用户。2、监控系统负载参数分析系统瓶颈。
性能指标:
平均响应时间:平均每个请求从发送到接收响应的时间。
合理的平均响应时间:2/5/10原则
平均响应时间的业务影响:
性能指标---系统资源类(CIMN):
CPU --CPU的占有率
内存---内存的占有率
I/O---读写请求数、读写量等
带宽---进站出站带宽占有率
为什么要进行性能测试:
二、性能测试的一般分类
负载测试(Load Test):为了验证系统设计符合正常业务负载情况下系统性能表现的测试
压力测试(Stress Test):为了验证系统在极端负载情况下的性能表现的测试
三、性能测试的相关工具
1、使用Top获取进程的资源占用信息:
具体参数含义:http://jingyan.baidu.com/article/4d58d5412917cb9dd4e9c0ed.html
2、性能统计工具sysstat安装配置:
首先我们使用 yum list sysstat,检查是否安装,如果没有安装,使用yum install sysstat 安装
3、使用sysstat进行CPU监控
使用命令 sar -q -f
runq-sz 运行队列的进程
plist-sz 系统进程队列数
后三项为平均负载
4、使用sysstat监控内存
使用命令sar -r -f
kbmemfree 空闲内存大小
kbmemused 使用内存大小
kbcached 缓存内存大小
kbbuffers:内核中作为缓存区使用的物理内存容量
kbcached:内核中作为缓存使用的物理内存容量
5、使用sysstat进行IO监控
使用sar -b -f
Blk_read/s表示每秒读取的数据块数。
Blk_wrtn/s表示每秒写入的数据块数。
Blk_read表示读取的所有块数
Blk_wrtn表示写入的所有块数
使用命令sar -d -f
rd_sec/s 每秒从设备读取的扇区数(1扇区=512字节)。
wr_sec/s 每秒写入设备的扇区数目。
avgrq-sz 平均每次设备I/O操作的数据大小(以扇区为单位)。
avgqu-sz 平均I/O队列长度。
await 平均每次设备I/O操作的等待时间(以毫秒为单位)。
svctm 平均每次设备I/O操作的服务时间(以毫秒为单位)。
%util 一秒中有百分之几的时间用于I/O操作。
5、使用sysstat对network进行检测
使用命令 sar -n DEV -f