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

如何为Gatling测试配置指定并发数?

设置固定并发数的测试实现

一、代码中直接指定并发数

根据测试需求,有两种常见的固定并发设置方式:

1. 持续维持固定并发

如果需要在测试期间持续保持指定数量的并发用户(比如一直维持2个并发),可以使用constantUsersPerSec方法搭配时长控制:

val fixedConcurrentInjection = constantUsersPerSec(2) during (15 seconds) // 每秒生成2个用户,持续15秒,整体并发稳定在2左右

setUp(
  scenario1.inject(fixedConcurrentInjection),
  scenario2.inject(fixedConcurrentInjection)
)

2. 一次性启动指定并发数

如果需要瞬间启动固定数量的并发用户执行场景(比如一次性启动2个用户同时运行),使用atOnceUsers方法:

val instantConcurrentInjection = atOnceUsers(2) // 一次性启动2个并发用户

setUp(
  scenario1.inject(instantConcurrentInjection),
  scenario2.inject(instantConcurrentInjection)
)

二、通过配置文件管理并发数

如果想把并发数参数抽离到配置文件,便于修改而不改动代码,可按以下步骤操作:

  1. 在项目的配置文件(如application.conf)中添加配置项:
test-config {
  concurrent-users = 2
  test-duration = 20  # 单位:秒,仅用于持续并发场景
}
  1. 在测试代码中读取配置并应用:
import io.gatling.core.Predef._
import com.typesafe.config.ConfigFactory

// 加载配置文件
val testConfig = ConfigFactory.load()
val targetConcurrent = testConfig.getInt("test-config.concurrent-users")
val testDuration = testConfig.getInt("test-config.test-duration") seconds

// 生成注入配置
val injectionProfile = constantUsersPerSec(targetConcurrent) during testDuration

setUp(
  scenario1.inject(injectionProfile),
  scenario2.inject(injectionProfile)
)

如果不同场景需要独立的并发数,只需在配置文件中为每个场景单独设置参数(如scenario1-concurrent = 2、scenario2-concurrent = 3),然后在代码中分别读取即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:33:13