性能测试理论基础-性能指标及jmeter中的指标
1、什么是性能测试
通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的质量,提升用户体验。
2、什么样的系统需要做性能测试
- 用户量大,页面访问量(Page View)比较高的系统
- 系统核心模块/接口
- 业务逻辑/算法比较复杂 -- 意味着性能比较低
- 促销/活动推广计划
- 新技术选型 -- 根据性能对比测试结果来确定是否采用新技术
3、性能测试分类
客户端性能
测试APP自身的性能,如CPU、内存消耗;web页面元素渲染的速度;客户端不存在并发。
服务端性能
测试服务端项目程序的支持并发、处理能力,响应时间等,主要通过接口来做性能测试。
目前服务端的性能测试是主流,一般说到的性能测试,都是指的服务端性能测试。客户端相对较少一些。
4、性能测试指标
4.1 并发/并发数/虚拟用户数(Vuser)
并发/并发数:同时向服务器发送请求的用户数。
几个容易混淆的概念
注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量;
在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量;
并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数;
在工厂的例子里,注册用户就是工厂里所有的卡车;在线用户就是已经派遣出去的卡车,但是车辆未必在拉货,可能在等待;并发用户就是正在拉货的卡车数量。
很明显,注册用户 > 在线用户 > 并发用户
虚拟用户数(Vuser):压测工具中设置的并发线程/进程数量。
4.2 TPS/QPS/吞吐量
- Transaction Per Second,每秒钟处理的事务数。
- Quer