1、价值与意义
1、生成服务,硬件需要升级、进行性能测试,之后对比服务的性能是否有效能提升,这样做有助于减少硬件上的投入。
2、预估生产环境,硬件配置、服务器的数量
3、日常工作的性能测试,例如:大促支付、秒杀,可以及早发现一些性能隐患
4、“重复数据”:如果出现重复数据的情况,性能测试可以发现重复数据、检查数据互串
5、
2、性能测试等级和思维
1、等级
- 初级:懂性能测试相关概念、有性能测试思维、能写性能测试脚本
jmeter的接口测试脚本,性能测试脚本有差异。千万别说,能用jmeter写接口测试脚本,就懂jmeter做性能测试
- 中级:要具备以下技能:性能场景的设计
- 高级
2、性能测试
定义:多个人同时使用功能时,收集各项性能指标情况,再分析指标数据背后的意义,分析可能存在的意义
驱动:多个人,同时使用
中间过程:分析指标数据的背后意义
产出:可能存在的问题、性能指标数据
性能测试中,预期结果和实际结果,是否一致,不是关注的重点。性能测试脚本,不一定要写断言。
3、并发、基准、负载、压力、稳定性测试
1、并发测试
定义:要模拟多个人,同时向服务器发送请求,测试服务器在一定的时间内,能够处理多少请求量。
1、并发和并行的区别:
- 并发:同一时间点,发起请求,请求可以相同,可以不同。在性能测试中,宏观的并发可以是不同的请求、微观的并发,是相同的请求
- 并行:同时,做多件事情。例如:2个jmeter同时发请求,服务器收到的是并发请求。
2、服务器处理能力如何计算
假设80人,持续1分钟,向服务器发起请求,总共假设发起8000次,那么8000/60s ≈ 134次,就是每秒钟向服务器发起的请求次数。其中134次,就是每秒并发数,也是服务器的处理能力。服务器的处理能力越强,每秒请求次数就会大于134次,越弱,就会小于134次。
补充
http协议是一个同步协议。同步协议的特点如下:
- 发出去请求,一定要收到响应,才会发起下一次请求。收到的响应不一定是准确的结果。结果指的是http响应状态码。
- 状态码为:1xx 2xx 3xx ,就认为请求成功处理
- 状态码为:4xx 5xx,就认为,请求处理失败
同步协议与异步协议图示
异步协议:发出去的请求,不需要等待响应结果,我们开始持续发送请求
2、基准测试
当项目还没有做过性能测试时,所有的性能指标数据都没有。那就把第1次正式执行性能测试得到的性能指标数据,作为一个基准,第一次正式的性能测试,就叫基准测试。(基准,就是一个参考点)
3、负载测试
逐步增加并发用户数,像服务器发起请求(并发测试),观察各种性能指标数据,通过哲学指标数据的分析,判断出服务器最大可接受的并发用户数或者最大并发用户数。
最大可接受并发用户数、最大并发用户数,都是测试出来的,不是数学计算出来的
最大并发用户数:当服务器出现持续请求报错、资源利用率过高的时候,这个时候的并发用户数
最大可接受并发用户数:满足可接受的标准时的并发用户数,标准如下:
- http协议,平均响应时间小于1.5s
- 错误率 < 0.1%
- 服务器的资源利用率< 80%
4、