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

Locust:如何指定时间段内的请求量及参数化用户数?

Locust参数化用户数的实现方式

下面是几种实用的Locust用户数参数化方法,适配你提到的constant_throughput负载场景:

1. 命令行参数指定(最常用)

直接在启动Locust时通过命令行参数设置用户数,无需修改代码。针对你的需求(5000用户),启动命令如下:

locust -f your_test_file.py --users 5000 --spawn-rate 100
  • --users:指定最终要模拟的总用户数(对应官方示例的5000)
  • --spawn-rate:每秒启动的用户数,避免瞬间创建大量用户压垮目标系统,可根据系统承受能力调整

代码中只需保持constant_throughput的配置即可:

from locust import User, task, constant_throughput

class MyUser(User):
    @task
    def my_task(self):
        # 替换为你的目标端点请求逻辑
        self.client.get("/your-target-endpoint")

    wait_time = constant_throughput(0.1)

2. 通过环境变量动态读取

如果需要在脚本或CI/CD流程中灵活调整用户数,可以在代码中读取环境变量:

import os
from locust import User, task, constant_throughput

class MyUser(User):
    @task
    def my_task(self):
        self.client.get("/your-target-endpoint")

    wait_time = constant_throughput(0.1)

# 从环境变量获取用户数,未设置时用默认值5000
target_users = int(os.getenv("LOCUST_TOTAL_USERS", 5000))

启动时通过环境变量传递用户数:

LOCUST_TOTAL_USERS=5000 locust -f your_test_file.py

3. Web UI可视化配置

启动Locust后,访问默认的http://localhost:8089页面:

  • 在Number of total users to simulate输入框填写5000
  • 在Spawn rate输入每秒启动的用户数
  • 点击Start swarming开始测试

这种方式适合临时调整负载,无需修改代码或命令行。

注意事项

  • 确保用户数与constant_throughput的乘积符合预期:5000 * 0.1 = 500次任务迭代/秒,和官方示例匹配
  • 避免设置过高的spawn-rate,防止瞬间流量冲击导致目标系统或Locust自身崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:11:03