一些概念
- 虚拟用户数:也就是Jmeter中的线程组
- 事务:一个接口可以是事务,多个接口也可以是事务,一个流程可以是事务,事务代表一个完整的功能.由测试人员决定.也可以理解成一次交易申请和响应的过程
- 场景:可以理解为一个具体的测试用例,
常见的性能测试指标:
1.响应时间(系统性能指标)
简称RT
概念:系统对请求作出响应的时间
理解:当用户从客户端发起一个请求开始,到客户端收到从服务器端返回的响应结束,这个过程所消耗的时间
响应时间=服务器处理时间+网络传输时间
2.吞吐量(系统性能指标)
概念:指系统在单位时间内处理业务请求的数量(直接体现服务器性能的承载能力)
常见的吞吐量衡量方式:
- 从业务角度来说,每天业务数,每小时业务数,每天用户数,每天业务访问数等
- 从网络角度来说,每天字节数
- 从技术角度来说,TPS-每秒事务数、QPS--每秒查询数
单位:Byte/S
3.并发数、用户数(系统性能指标)
概念:某一时刻同时向服务器发送请求的用户数
与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求
4.错误率(系统性能指标)
简称ER
概念:系统在负载的情况下,失败业务的概率
5.点击数
概念:指客户端向服务器发送请求时,所有的页面资源元素(如:图片,资源,框架css,js等)的请求总数量
ps:1.只有web项目才有这个指标;2,点击数不是页面上的一次点击
5.TPS(系统性能指标)
概念:每秒事务数,每秒服务器能处理的事务(业务:页面上的一个操作,可能对应一个或者对哦个请求)请求的数量
例子:
1)某一系统1分钟处理1000个事务,那么TPS=1000/60=16.7
2)去年的经营数据,2022年最高的一天有10万笔交易,预测2023年TPS需要多少合格?
理论上TPS=100000/86400=1.2,这只是当中以平均来算,显然不行
若没有详细的数据,根据二八定律来算(0.8事务在0.2时间内完成):
100000*0.8/(86400*0.2)=4.6
若有更详细的数据,比如5万笔交易是在8-9点完成的
TPS=50000/3600=13.9
但这只是去年的,今年的按照业务增长30%来计算
所以TPS=50000*1.3/3600=18
6.QPS(系统性能指标)
概念:每秒查询数,每秒服务器能处理请求的数量
不同的请求,每秒的QPS不同
TPS和QPS的关系
1.当一个事务对应一个请求的时候,TPS=QPS2.当一个事务对应多个请求的时候,TPS=n*QPS
7.CPU(资源性能指标)
CPU又称为中央处理器,主演用来解释计算机指令和处理计算机软件中的数据
8.内存(资源性能指标)
内存是与CPU进行沟通的桥梁
计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大
现在的操作系统为了最大利用内存,在内存中存放了缓存,因此内存利用率100%并不代表内存有瓶颈
衡量系统内存是否有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会引起系统性能低下
9.磁盘吞吐量(资源性能指标)
磁盘吞吐量简称为Disk Throughput,是指在无磁盘故障的情况下单位时间内通过磁盘的数据量
10.网络吞吐量(资源性能指标)
网络吞吐量简称为Network Throughput,是指在无网络故障的情况下单位时间内通过的网络的数据数量,单位为Byte/s
网络吞吐量指标用于衡量系统对于网络设备或链路传输能力的需求。当网络吞吐量指标接近网络设备或链路最大传输能力时,则需要考虑升级网络设备
网络吞吐量指标主要有每秒有多少兆流量进出,一般情况下不能超过设备或链路最大传输能力的70%