You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Gatling场景仅执行一次(单虚拟用户单迭代)

Gatling 场景单次执行配置方案

需求

执行Gatling场景恰好一次:单个虚拟用户执行一次完整迭代,无需持续运行、多并发用户或控制每秒启动用户数。

现有代码示例

final ScenarioBuilder scenario = scenario("exactly once")
  .exec(http.get("/something"))
  .exec(http.get("/somethingelse"));

setUp(scenario.injectClosed(
  constantConcurrentUsers(1).iterations(1) // 此处该如何配置?
);

期望结果

Web服务器收到2个请求,分别对应/something和/somethingelse接口。

问题背景

此前使用k6时,可通过k6 run -u1 -i1 test.js命令或shared-iterations执行器轻松实现该需求,但Gatling官方注入文档未明确提及迭代相关配置方式,现寻求正确的Gatling配置方案。

正确配置方案

方式一:开模型注入(推荐,直观简洁)

使用atOnceUsers(1)方法,一次性启动1个虚拟用户,该用户会完整执行一次场景迭代:

final ScenarioBuilder scenario = scenario("exactly once")
  .exec(http.get("/something"))
  .exec(http.get("/somethingelse"));

setUp(scenario.injectOpen(atOnceUsers(1)));

方式二:闭模型注入

若需使用闭模型,你原有代码的配置逻辑是正确的:constantConcurrentUsers(1).iterations(1)会维持1个并发用户,且仅执行1次迭代:

final ScenarioBuilder scenario = scenario("exactly once")
  .exec(http.get("/something"))
  .exec(http.get("/somethingelse"));

setUp(scenario.injectClosed(constantConcurrentUsers(1).iterations(1)));

两种配置均能触发场景中的两次请求,达成预期效果。

内容的提问来源于stack exchange,提问作者knittl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:43:12