将locust.io用户分组到运行自己的任务集的不同细分中的正确方法是什么?

时间:2016-02-10 19:31:51

标签: python locust

假设我在蝗虫群中拥有10k用户。我想让其中的2000个人从任务集A运行任务,其中2000人从任务集B运行任务,其中6000人从任务集C运行任务,其中每个任务集都有自己的频率。

有没有办法配置这个?我尝试在运行时设置self.tasks,但它似乎没有工作。

3 个答案:

答案 0 :(得分:2)

您可以将weights分配给您的蝗虫类。只需定义3个不同的Locust类(每种类型的用户一个),每个类使用不同的任务集,权重分别设置为2,2和6。

答案 1 :(得分:0)

您可以给予适当的权重来处理这个问题。 @task(2)运行两次@task(1)。请参阅下面的案例:

@task(2)
def A(self):
    a()

@task(2)
def B(self):
    b()

@task(6)
def C(self):
    c()

答案 2 :(得分:0)

我认为你所寻找的更接近于加权用户行为。见http://docs.locust.io/en/latest/writing-a-locustfile.html#the-weight-attribute

要点是您可以定义和加权不同类型的用户,然后运行您的locust命令,并将所有用户定义为参数。

从后代的链接中粘贴:

class WebUserLocust(Locust):
    weight = 3
    ....

class MobileUserLocust(Locust):
    weight = 1
    ....

然后

locust WebUserLocust MobileUserLocust