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

Artillery中如何设置arrivalRate低于1实现低频率请求发送

Artillery 实现低于1次/秒发压频率的方法

arrivalRate 的定义是每秒新启动的虚拟用户数,本身就不支持小于1的赋值,要实现每5秒1次这类低频发压,不需要找非官方的偏门方案,用原生的arrivalCount参数就能实现。

具体实现方式

arrivalCount 用来指定单个压测阶段内总共要启动的虚拟用户总数,Artillery 会自动把这些虚拟用户的启动时间均匀分布在整个阶段的时长里,支持任意低的发压频率。
比如你需要每5秒发1次请求、持续60秒,算下来整个阶段总共要发12次请求,对应配置直接这么写就行:

config:
  target: "https://example.com/api"
  phases:
    - duration: 60
      arrivalCount: 12
      name: 低频压测(每5秒1请求)

后续要调整频率直接按比例算总请求数改arrivalCount就可以:

  • 每10秒1次、持续60秒:设置arrivalCount: 6
  • 每30秒1次、持续5分钟(300秒):设置arrivalCount: 10

注意点

  • 这个是Artillery正式支持的配置项,不是未公开的hack手段。虚拟用户的启动时机由引擎独立调度,就算你测试的接口响应要花好几秒,也不会拖慢发压节奏,到点就会发起新请求,完全符合负载测试的要求。
  • 别用在场景脚本里加sleep的方式凑间隔,这种写法的等待时间会叠加接口本身的响应耗时,实际请求间隔会比你预设的长,压测节奏不准。

内容的提问来源于stack exchange,提问作者Bill O'Haran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:42:16