性能测试(2)基础之 性能测试指标
什么是性能测试:
性能测试就是利用测试工具或者代码对系统的相关性能指标进行的测试,用来对服务器和系统性能的评估。
简单来说就是利用自动化的测试工具,通过模拟大量的终端用户以产生多种正常,峰值以及异常负载条件来对服务系统的各项性能进行测试
常见性能测试指标
响应时间,并发数,TPS,服务器资源使用率错误率,PV,UV
1.响应时间=等待时间+执行时间
就是指客户端发送请求,系统内部处理后,并把数据返回给客户端,一直到客户端接受到响应数据的时间。
2.并发数
并发数指在同一时刻内,系统能够处理的同时在线或发送请求的用户数量。并发用户数,指某一时刻同时向服务器发送请求的用户数。
Jmeter中,线程数就是用户数,而测试并发数时,我们使用Jmeter的集合点来集合线程进行请求测试,
那么所以有的人就会把并发数称之为并发用户数。
Jmeter的集合点,只会发送1个请求。
3.TPS
TPS即每秒事物数,单位时间内处理事务的能力 服务器处理事务的能力,
接口请求就是一个事务,所以TPS就是描述服务器在单位时间内,处理请求数据的能力。
如果启动1个用户连续发送请求时,是发送事务请求,只有当服务器返回响应数据之后,客户端接收到之
后,才会发送下一个请求。
单用户发送请求,服务器1秒处理完成,那么TPS是 1 请求数/秒
单用户发送请求,服务器0.1秒处理完成,那么TPS是 10 请求数/秒
10用户发送请求,服务器0.1秒处理完成,那么TPS是 100 请求数/秒
TPS= 并发数/平均响应时间 【并发数除以平均响应时间】
网络:网络吞吐量
是指,服务器的网速(上行/下行)
上行:上传到服务器的速度
下行:从服务器下载的速度。
一般查询服务器,下行比较高;写入数据的服务器,上行比较高。
磁盘IO:磁盘的吞吐量(IOPS)
是指,服务器在磁盘上写入和读取数据的能力。(既有读取和写入的次数瓶颈,也有读取和写入数据量的
瓶颈,所以才会分大量小文件传输和大文件传输)
服务器资源使用率
说明:是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据
一台服务器主要由CPU,硬盘,内存,网络,虚拟资源组成
建议cup不高于80%
内存不高于80%
磁盘不高于90%
网络不高于80%
CPU
硬盘
一台服务器主要由CPU,硬盘,内存,网络,虚拟资源组成
建议cup不高于80%
内存不高于80%
磁盘不高于90%
网络不高于80%内存
内存是指,内存的容量使用率
CPU、内存、硬盘读取速度比较
网络
交换内存
TCP连接数
错误率
错误率指系统在负载的情况下,失败交易概率
主要是用来描述服务器处理接口请求时,产生错误的请求
错误率=错误请求数/总请求数
注意:如果产生的错误是服务器内部的逻辑错误导致的,那么一定要修复
PV和UV
PV:Page View 页面浏览数。就是指用户访问每个页面的次数
UV:Unique View 唯一访问量(用户访问量:用户的IP地址,用户的名,用户的唯一标识符)
在性能测试中,性能分析人员,需要根据PV和UV,来统计用户活跃情况和用户访问页面的情况,在根据
这些数据,得出测试环境所需要的目标TPS是多少。也就是计算需求TPS的过程。
例如:线上活跃用户数是50万,那么测试环境的TPS应该达到多少才能满足生产的需要呢?