蝗虫负载测试将孵化率从几秒改为几分钟?

2024-04-24 12:57:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想模拟尖峰流量,例如:

  • 在前5分钟内,只有50个用户(在时间T0时即时填充50个)
  • 然后从第5分钟到第10分钟,我们有100个用户(在T+5即时填充+50)
  • 然后是150(在T+10处的即时图案填充+50)
  • 等等

是否可以创建相同数量的用户,但不是每秒钟创建一次,而是每xx分钟创建一次


Tags: 用户数量时间尖峰流量图案xxt0
1条回答
网友
1楼 · 发布于 2024-04-24 12:57:41

没有这样的内置功能(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

...

你也许可以做一些聪明的事情,把它们都放在一节课上,但我将把它作为练习:)

相关问题 更多 >