Locust使用方法

Locust是一款Python性能测试工具,以其高并发和低资源占用为特点。本文详细介绍了Locust的使用,包括User类、wait_time、weight、host、tasks、on_start/on_stop、tasks比率、HttpUser类以及事件监听。通过示例展示了如何编写locustfile,如设置任务权重、响应验证以及使用HttpSession进行HTTP请求。同时,提到了任务的tag装饰器,用于选择性执行特定任务。

Locust介绍

Locust是基于python的性能测试工具,优点是并发高,资源占用小,缺点是报告简陋,不支持资源监控。

Writing a locustfile
locustfile是一个普通的python文件。里面必须含有一个User类。

User
一个User类,代表一个用户或者一个locust集群。locust会为每个用户生成一个实例,User类里面可以添加自定义函数。

wait_time
User类中包含一个可选项 wait_time ,用于设置在每个task运行之后的等待时间,如果不设置wait_time,会马上执行下一个task。

它有三个内置参数:
constant :固定时长
between:在区间内随机取值
constant_pacing:每x秒运行一次

例如,在每个任务间隙。等待0.5-10秒钟:

from locust import User, task, between

class MyUser(User):
    @task
    def my_task(self):
        print("executing my_task")

    wait_time = between(0.5, 10)

也可以在user类中自定义时间函数,例如,每次运行后将休眠1秒、2秒、3秒……

class MyUser(User):
    last_wait_time = 0

    def wait_time(self):
        self.last_wait_time += 1
        return self.last_wait_time

weight
如果locustfile文件中有多个user类,可以在命令行中指定所使用的user,如果不指定,locust将为每个user分配相同的优先级

$ locust -f locust_file.py WebUser MobileUser

想要模拟多个用户,可以通过设置weight来实现优先级的设置
下面的例字中,web用户执行的概率是移动用户的三倍

class WebUser(User):
    weight = 3
    ...

class MobileUser(User):
    weight = 1
    ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值