• 基于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属性。

  • 相关阅读:
    network issue troubleshooting
    xpath tutorial
    自己的Queue
    TCP/IP Socket
    C++对话框创建及修改对话框属性
    C++文件和目录的创建和删除
    C#程序中降低内存清理方法
    UDP通信
    C++ 中TCHAR字符串数组转化为Char类型数组
    配置supervisor 让laraver的队列实现守护进程
  • 原文地址:https://www.cnblogs.com/mu-shi-shi/p/6062065.html
Copyright © 2020-2023  润新知