1.背景

互联网行业发展快,用户量大大增加

业务和系统架构越来越复杂,用户不仅仅满足于功能的实现,更在意系统性能

什么是性能测试

通过一定的手段,在多并发情况下,获取被测系统的各项性能指标,验证处理能力、响应能录、稳定性等是否满足预期,提升用户体验

2.什么样的系统需要做性能测试

  • 用户量大,PV比较高的系统 PV:页面浏览量 例如,同一用户反复刷新页面10次,会计为10次PV。

  • 系统核心模块、接口

  • 业务逻辑、算法比较复杂

  • 促销、活动推广

  • 新技术选型(新老架构对比)

3.性能测试分类

客户端性能:测试APP自身的性能,CPU、内存消耗;web页面渲染速度

服务端性能:测试支持并发、处理能力、响应时间等,通过接口来做性能测试。服务器性能测试是主流

4.性能测试的指标

客户端就像一个工厂,服务端就是一个仓库,卡车就是并发的用户请求

工厂向仓库派遣卡车,拉取货物后返回工厂,这个就是客户端向服务端发起请求,服务端返回响应数据。

同时,每辆车将货物拉回工厂后,会继续进行下一轮拉货的流程,一直持续到业务完成。

4.1 性能测试指标 - 并发

定义:同时向服务器发送请求的用户数

  • 注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量

  • 在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量

  • 并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数

4.2 性能测试指标 - TPS/QPS

Transaction Per Second:每秒钟处理的事务数

在服务端接口性能测试中,事务Transaction可以理解成一次接口调用,所以TPS其实就是服务端每秒钟处理多少次接口调用。如果TPS越高,证明服务端项目的处理能力就越好,性能就越好。

在工厂的例子里。如果有很多卡车来拉货,假设仓库每秒处理1000辆卡车的货物,那就可以说仓库的TPS=1000,这个数值越大,证明仓库单位时间内处理的货物就越多,性能就越好

4.3 性能测试指标 - 平均响应时间

响应时间 = 网络传输的总时间 + 各组件业务处理时间

平均响应时间

响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。

平均响应时间就是n多个请求响应时间的平均值。

平均响应时间越短,代表性能越好,TPS就越高

银行办理业务的速度越快,单位时间内处理的业务量越多,因此性能就越好。

4.4 性能测试指标 - TOP 响应时间

将所有请求的响应时间先从大到小进行排序,计算指定比例的请求都是小于某时间。该指标统计的是大多数请求的耗时

Tp90(90%响应时间):90%的请求耗时都低于 某个时间

Tp95(95%响应时间):95%的请求耗时都低于某个时间

Tp99(99%响应时间):99%的请求耗时都低于某个时间