2

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

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

4

3 回答 3

2

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

于 2016-02-14T21:59:41.323 回答
1

我认为您正在寻找的更接近于加权用户行为。请参阅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
于 2017-06-09T16:07:04.273 回答
0

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

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

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

@task(6)
def C(self):
    c()
于 2016-02-11T08:06:36.877 回答