JMeter事务控制器场景下,如何让请求无需等待响应即可执行
JMeter异步执行指定请求且保留整体顺序的配置方案
核心思路
将耗时较长的Request - 2与后续请求流程并行启动,同时保证除Request - 2外的所有请求严格遵循原顺序执行。
具体配置步骤
方案一:使用Parallel Controller(推荐)
调整原测试脚本结构:
- 保留
Transaction Controller - 1,将其内部节点重构为:Request - 1Parallel Controller(并行控制器)Request - 2Sequence Controller(顺序控制器)Request - 3Transaction Controller - 2Request - 4Request - 5Request - 6
Transaction Controller - 3Request - 7Request - 8Request - 9
- 保留
关键配置:
- Parallel Controller默认已启用并行执行,无需额外修改,它会同时启动下属的
Request - 2和Sequence Controller。 - Sequence Controller会保证内部的
Request - 3、Transaction Controller - 2、Transaction Controller - 3严格按原顺序执行,不受Request - 2的响应耗时影响。
- Parallel Controller默认已启用并行执行,无需额外修改,它会同时启动下属的
方案二:使用异步采样器(轻量替代)
如果不想大幅调整结构,可直接给Request - 2添加Async Sampler:
- 将原
Request - 2替换为Async Sampler,配置其目标请求为原Request - 2的接口参数。 - 该采样器会异步发送请求,主线程无需等待响应即可继续执行后续的
Request - 3及其他请求,同时保留整体顺序。
注意事项
- 若
Request - 2的响应结果被后续请求依赖,需通过变量传递或后置处理器提前捕获异步请求的结果,避免影响后续逻辑。 Transaction Controller - 1会统计Request - 1及并行部分的总耗时,若不需要该统计,可直接用Parallel Controller替代原Transaction Controller - 1。
内容的提问来源于stack exchange,提问作者Ajith R
相关产品推荐
相关产品推荐

