假设我在蝗虫群中拥有10k用户。我想让其中的2000个人从任务集A运行任务,其中2000人从任务集B运行任务,其中6000人从任务集C运行任务,其中每个任务集都有自己的频率。
有没有办法配置这个?我尝试在运行时设置self.tasks,但它似乎没有工作。
答案 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