【发布时间】:2020-11-02 10:13:31
【问题描述】:
我想模拟尖峰流量,例如:
- 在前 5 分钟内只有 50 个用户(在时间
T0即时孵化 50 个) - 然后从第 5 分钟到第 10 分钟,我们有 100 个用户(即时孵化 +50
T+5) - 然后是 150(即时孵化 +50
T+10) - 等
是否可以创建相同数量的用户,但不是每秒创建一次,而是改为每 xx 分钟一次?
【问题讨论】:
标签: python load performance-testing locust
我想模拟尖峰流量,例如:
T0 即时孵化 50 个)T+5)T+10)是否可以创建相同数量的用户,但不是每秒创建一次,而是改为每 xx 分钟一次?
【问题讨论】:
标签: python load performance-testing locust
没有这样的内置功能(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
...
您可能可以做一些聪明的事情并将其全部放在一个班级中,但我将把它留作练习:)
【讨论】: