在我的场景中,我在完成 SequentialTaskSet 后停止用户。同时,我需要定期启动用户,例如每 100 毫秒。可能有一些用户已经在运行或没有运行,这无关紧要。但是,如果有一个用户已经在运行,locust 不会创建一个新的,即它不会在用户之上创建。
def spawn_users(env):
while True:
env.runner.start(1, spawn_rate=50)
gevent.sleep(0.1) # sleep for 100 ms
for x in range(1000):
gevent.spawn(spawn_users, env)
NB 显然,我可以一次创建 50/100/任意数量的用户,但我需要一个一个地创建。
总结:无论有多少用户已经在运行,以及他们花费了多少时间执行任务,都会定期创建 locust 用户。
注意:如果这个用例更适合它们,我也愿意尝试其他负载测试框架。