我想模拟尖峰流量,例如:
- 在前 5 分钟内只有 50 个用户(在
T0
时即时孵化 50 个) - 然后从第 5 分钟到第 10 分钟,我们有 100 个用户(
T+5
即时孵化 +50) - 然后 150(
T+10
时即时孵化 +50) - 等等
是否可以创建相同数量的用户,而不是每秒创建一次,改为每 xx 分钟创建一次?
最佳答案
没有这样的内置功能(https://github.com/locustio/locust/issues/1353 如果实现的话可能会解决这个问题)
一种解决方法是立即生成所有用户(使用大约 100/s 的生成速率),并让他们休眠直到运行时间:
import time
start = time.time()
class User1(HttpUser):
@task
def mytask(self):
# do actual task
class User2(HttpUser):
@task
def mytask(self):
while time.time() - start < 300:
time.sleep(1)
# do actual task
class User3(HttpUser):
@task
def mytask(self):
while time.time() - start < 600:
time.sleep(1)
# do actual task
...
你或许可以做一些聪明的事情并将其全部放在一个类中,但我会把它留作练习 :)
关于python - Locust 负载测试 - 将孵化率从几秒更改为几分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62872079/