通过对系统进行性能需求分析,进行合理评估的性能测试指标,并在性能测试环境上通过自动化的测试工具模拟多种正常、峰值、以及异常负载条件对系统各项 性能指标
进行测试:
手段: 通过测试工具模拟正常、峰值以及异常负载条件对系统各项
性能指标
进行测试
目标: *旨在发现
性能缺陷
、进行能力验证
、 验证规划能力
和性能调优*
结果: 并针对测试结果进行
分析总结定位
的测试过程
典型场景: 某些缺陷只有在高负载的情况下才能暴露出来,如 线程锁
、 资源竞争
或 内存泄漏
。
常用术语:
- 在线用户数
- TPS
- 响应时间
- 成功率
- 并发用户数
- 事务
同一 CPU 时间片,即同一时刻发生的事情
系统在某一段时间段内的所有已登用户总数
同一时刻操作某个页面或某个功能的用户数
假设我们已经分析得出,系统得使用压力集中在 2 个小时内,在这个时间段内共有 100 个活跃用户,且压力是平均分布的,平均每个用户使用系统的时间是30分钟总数。
是指同一个时间段内发生 事情,它意在表达 “并发” 的可能性,是压力对的一样度量
代表服务器的处理能力,,每秒处理的事务数
用户某次操作直至完成所花费的时间
模拟用户场景时提供给脚本调用的一组数据
本子操作的数据需要用到上一次操作从服务端返回是数据
用户一个或多步操作的集合(一步操作可以是访问一次页面或点击一个功能按钮)
用户操作步骤与步骤之间的等待停留时间
目的: 得到系统的性能基线数据,常用于新系统,之前未测试过性能的系统
定义: 验证系统是否存在线程安全性问题并得到一定条件下的系统性能基线数据
目的: 测试系统在软硬件上的扩展能力,常用于测试软件扩容,硬件扩容
定义: 验证系统在软件或硬件上的扩展能力
- 对比测试前后的性能差距
- 常用于系统优化,系统选型,通过相同的用例对比性能数据
定义: 验证系统在软件或硬件上的扩展能力
- 测试系统长时间的运行的稳定性
- 常用于核心系统,要求长时间服务不宕机
定义: 验证系统在一定的负载下,长时间运行的持续服务能力
定义: 在测试过程中,对待测试功能点,采取循序渐进的加压方式,收集系统的各项指标,得到在不同的压力下的性能曲线
测试工具 | 优势 | 劣势 |
---|---|---|
JMeter | 开源,插件多 | 客户端较耗资源,报告不丰富 |
LoadRunner | 支持协议多 | 付费,不方便扩展,客户端耗资源 |
Gatling | 并发性能优 | 支持协议少 |