• 基于python的性能负载测试Locust-3-脚本编写之Locust类


    Locust类

    Locust类体现了一个用户(或者一窝蜜蜂)。Locust将会为每个被模拟的用户产下一个locust类的实例。locust类需要定义如下属性:

    task_set属性

    task_set属性指向了定义用户行为的TaskSet类,关于属性的具体描述如下:

    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属性。

  • 相关阅读:
    MySQL远程登陆
    一键安装LAMP wordpress
    编译安装httpd2.4.46
    RDB转化AOF 花式删库
    3周作业
    2周作业
    1周作业
    预习第三周作业
    预习第二周作业
    预习第一周作业
  • 原文地址:https://www.cnblogs.com/mu-shi-shi/p/6062065.html
Copyright © 2020-2023  润新知