测试场景一般包括单交易基准测试、单交易负载测试、混合压力测试、稳定性测试、可恢复性测试
1、单交易基准测试,1个用户运行10分钟或者迭代100次;解决可能存在的关联问题和参数化问题
VU数:1
延迟设置:无
场景加压策略:一次性加压
场景减压策略:运行完结束
场景运行时间:100次迭代
2、单交易负载测试,用户逐渐增加,运行15-30分钟;验证脚本中可能的多线程同步问题
VU数:梯度
延迟设置:无
场景加压策略:逐渐加压
场景减压策略:全部退出
场景运行时间:15分钟
3、混合压力测试,执行不同组的TPS,一般为3组,获取TPS、响应时间、资源利用率等随负载变化的趋势
VU数:根据TPS来计算虚拟用户数
延迟设置:按设计的思考时间和延迟进行设置
场景加压策略:逐渐加压(如:每1秒钟增加5个VU)
场景减压策略:运行完结束
场景运行时间:1小时
4、稳定性测试,一般是选择最大TPS的80%,长时间持续运行,测试其稳定性,运行8个小时(12个小时、24个小时等)
VU数:根据TPS来计算虚拟用户数
延迟设置:按设计的思考时间和延迟进行设置
场景加压策略:逐渐加压(如:每1秒增加2个VU)
场景减压策略: 运行完结束
场景运行时间:8小时
5、可恢复性测试,多台服务器,通过宕掉服务器和再启动服务器检验可恢复性,场景选择几支典型的交易。如果服务器有重连机制,TPS-VU图会随着用户数的稳定,TPS趋于平稳,停止服务器后,TPS下降为0笔/秒,重启服务之后TPS恢复到先前并保持平稳。
VU数:10
延迟设置:无
场景加压策略:一次性加压
场景减压策略: 运行完结束
场景运行时间:30分钟
单交易基准测试中脚本繁多,如果单个交易执行单交易基准,收集测试结果会非常费时,所以有了以下的场景
(1)把所有待测脚本添加到场景中,选择Group模式
(2)设置每个脚本VU数为1,runtime-setting中设置迭代次数为100。可以考虑通过场景的参数文件配置来批量解决这些事情,提高工作效率,可以参照另一篇文章《场景参数批量修改》
(3)选中第二个需要执行的脚本,点击[start group]-->[start when group “XXX” finishes]
(4)结束选项选择[Run until completion]
单交易负载测试一般选取业务模型中交易占比高的交易进行测试。如果是新的交易,需要试测,确定最大的TPS和此时的VU数。加压策略如下图
单交易负载测试停止标准
(1)梯度加压的过程中TPS达到瓶颈
(2)应用服务器CPU超过预警值(多用于TPS一直随用户数增加而增加的情况)
(3)TPS随用户数增加而增加,但并不是线性增加,此时看事务响应时间接近预警值