【问题标题】:Locust load testing - change hatch rate from seconds to minutes?蝗虫负荷测试 - 将孵化率从几秒变为几分钟?
【发布时间】: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


    【解决方案1】:

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

    您可能可以做一些聪明的事情并将其全部放在一个班级中,但我将把它留作练习:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      相关资源
      最近更新 更多