性能测试指标
性能测试指标
一、前言
行业中,做服务器接口性能测试,我们的一般标准是:接口的平均响应时间<1.5s,错误率<0.1%
二、并发用户数
1、概念:同一时间发起请求的人数,是我们性能测试的源动力。通过负载测试测试出来。
2、性能测试要使用工具来实现并发用户数的方式主要有线程,进程与协程
2.1 jmeter用的是线程
2.2 loadruner默认使用的是线程,也可以使用进程
2.3 locust用的是协程
2.4 nginder用的是进程+线程
三、响应时间
1、概念:模拟的人,发起一个请求,从发起---网络传输给服务器---服务器内部处理---网络传输返回给发起者,这一过程中不包括页面渲染时间
1.1 服务器端接口性能得到优化,理论上,用户端的性能也能得到优化。
2、我们期望的响应时间,应该无限接近服务器内部处理时间
2.1 我们的网络传输时间应该期望无限的小,这样我们的响应时间就会无限趋近于服务器内部处理时间。
2.2 如果网络有瓶颈,我们测试的响应时间就大部分为网络时间而不是服务器处理时间,设置出现报错就会导致错误率上升,这些都会导致我们的性能测试指标判断错误,偏离实际情况。所以我们做性能测试不可以存在网络瓶颈。
2.3 网络要求:一般使用局域网;不可以使用无线网络,一般使用有线网络;尽可能使用独立网络。
3、响应时间我们一般指的是平均响应时间。
四、TPS、QPS、RPS、HPS
1、tps
1.1 概念: TPS transaction per second事务每秒: 服务器每秒能处理多少个事务,是描述我们服务器的能力的最主要的指标
1.2 事务概念:一个请求从开始到收到响应的过程,为一个整体,这个整体是 1个事务。
1.2.1 一个请求: 1:1接口 1:N接口
1.2.2 jmeter中: 默认把一个“取样器”接口,执行完1次,当 做1个事务; 也可以使用“事务控制器”把多个‘取样器’合 并在一起,当做一个事务。
2、qps
2.1 概念:每秒查询多少次, 每秒钟向服务器查询了多少的资源
2.2 查询:不局限数据库的查询,也包括应用查询
2.3 QPS = m TPS (一般情况下m>1
2.4 TPS vs QPS 服务器:用户端
3、rps
3.1 概念: 每秒请求次数 用户端
4、hps
4.1 hit 每秒点击次数 -----一般是界面测试
五、吞吐量
1、概念:网络中每秒能传输的事务数
2、吞吐量是衡量网络的指标 ,TPS是衡量服务器处理能力的最主要指标
3、吞吐量 vs TPS 网络 : 服务器
3.1 吞吐量和TPS 数值可能会‘相等’ :没有网络瓶颈时候,这两个数值会相等 ,所以有网络瓶颈,就测不出 tps 值
六、吞吐率
1、概念:网络中每秒传输的数据量 KB/s(1KB/s = 8Kb/s)
2、通过吞吐率值,是可以算出带宽消耗的。 1M的带宽,其实只有128KB/s:1M/s = 1024Kb/s = 128KB/s
七、资源利用率
1、服务器上各种资源的使用情况
2、种类:cpu利用率、内存利用率、io利用率、应用资源利用
3、性能测试一般利用率 < 80% ,cpu利用率< 80%, 所有cpu总和的利用率占比小于80%