极端场景下Locust压测的异常运行行为咨询
Locust极端负载测试问题解答
问题1:设置10分钟时长后测试仍未停止
Locust的-t参数定义的是用户生成阶段的时长,不是测试的总时长。你设置-t 10m意味着Locust会在10分钟内以每秒1000的速率创建用户,10分钟到点后停止新增用户,但已经启动的用户会继续执行测试脚本里的任务逻辑,直到所有用户的任务全部完成,测试才会终止。
你看到用户数从10000降到100,说明大部分用户已经完成任务或因连接失败被终止,但剩余的100个用户可能卡在了脚本的循环逻辑、长时间等待或重试机制中,导致任务无法结束,进而让整个测试一直运行。
问题2:testing.html包含的数据范围
最终生成的testing.html会包含从测试启动到完全结束的所有运行数据,绝不仅限于前10分钟。--html参数是在测试终止后,汇总整个测试周期内的所有请求指标、用户行为数据生成完整报告,包括用户生成阶段和后续剩余用户执行任务的阶段。
问题3:是否必须等待测试结束才能获取数据
不需要等测试完全结束:
- 如果是带Web界面启动的Locust(默认开启),可以直接访问
http://localhost:8089实时查看当前的测试指标,也能手动导出CSV格式的中间数据; - 如果是纯命令行模式,你可以通过发送
Ctrl+C(SIGINT信号)手动终止测试,Locust会自动生成包含终止前所有数据的testing.html文件,不会丢失已收集的测试数据; - 另外也可以实时查看终端的日志输出,获取当前的请求成功率、响应时间等核心指标。
内容的提问来源于stack exchange,提问作者user3595231
相关产品推荐
相关产品推荐

