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%的请求耗时都低于某个时间
