Locust类
Locust类体现了一个用户(或者一窝蜜蜂)。Locust将会为每个被模拟的用户产下一个locust类的实例。locust类需要定义如下属性:
min_wait 和 max_wait 属性
伴随着task_set属性,往往会声明min_wait 和 max_wait属性。也就是以毫秒为单位的最小时间和最大时间,用于设置虚拟用户执行任务的间隔时间。min_wait 和 max_wait默认为1000,因此如果没有声明min_wait 和 max_wait,一个locust将会在执行完一个任务后等待1秒。
下面的locust文件,每个用户执行任务的间隔是5到15秒
from locust import Locust, TaskSet, task
class MyTaskSet(TaskSet):
@task
def my_task(self):
print "executing my_task"
class MyLocust(Locust):
task_set = MyTaskSet
min_wait = 5000
max_wait = 15000
min_wait and max_wait属性也可以在TaskSet类里被重写
权重属性
可以在相同的文件运行两个locust(飞两个蜜蜂):
locust -f locust_file.py WebUserLocust MobileUserLocust
如果希望其中一个locust相对其它locust有更高的执行机率,可以在这些类里设置权重属性。例如:web用户的执行机率是mobile用户的三倍:
class WebUserLocust(Locust):
weight = 3
....
class MobileUserLocust(Locust):
weight = 1
....
host 属性
host属性是附加在被加载的host上的URL 前缀(i.e.“http://google.com”)。通常在locust被启动时,会通过--host在命令行中将其声明。如果在locust类中定义了host属性,命令行中--host未被指定的话,就会使用locust类中定义的host属性。