Locust 学习

官方API 地址:https://www.locust.io/

 

1.安装

在Windows上安装

在Windows上,运行应该工作。

pip install locustio

但是,如果没有,可以通过首先为pyzmq,gevent和greenlet安装预先构建的二进制包来修复它。

你可以在这里找到一个非官方的预制python包集合:http://www.lfd.uci.edu/~gohlke/pythonlibs/

当您下载预建.whl文件时,可以使用以下命令安装它:

$ pip install name-of-file.whl

一旦你完成了,你应该能够做到。pip install locustio

注意:在Windows上运行Locust应该可以很好地开发和测试负载测试脚本。但是,在运行大规模测试时,建议您在Linux机器上执行此操作,因为gevent在Windows下的性能很差。

 

2.简单示例

1)创建测试代码, locust_test.py

from locust import HttpLocust, TaskSet, task


class UserBehavior(TaskSet):

    @task
    def baidu_page(self):
        self.client.get("/")


class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    host = "https://www.baidu.com"
    min_wait = 3000
    max_wait = 6000

2)执行测试

locust -f locust_test.py

2)访问并设置参数

http://localhost:8089/

Locust 学习

 

Number of users to simulate: 设置模拟用户数

Hatch rate(users spawned/second): 每秒产生(启动)的虚拟用户数

 

Locust 学习

 

 

3.其他应用

在没有Web UI的情况下运行

您可以在没有Web UI的情况下运行locust - 例如,如果您想在某些自动化流程中运行它,例如CI服务器 - 通过使用--no-web标志-c-r

$ locust -f locust_files/my_locust_file.py --no-web -c 1000 -r 100

 

-c指定要生成的Locust用户数,并-r指定填充率(每秒生成的用户数)。

设置测试的时间限制

注意

这是v0.9中的新功能。用于0.8用于-n指定请求数

如果要指定测试的运行时间,可以使用--run-time或执行此操作-t

$ locust -f --no-web -c 1000 -r 100 --run-time 1h30m

 

一旦时间到了,locus就会关闭。

在没有Web UI的情况下运行分布式

 

如果要在没有Web UI的情况下运行分发Locust,则应--expect-slaves在启动主节点时指定选项,以指定预期连接的从属节点数。然后它将等待,直到许多从节点已连接,然后再开始测试。

 

以CSV格式检索测试统计信息

您可能希望通过CSV文件使用您的蝗虫结果。在这种情况下,有两种方法可以做到这一点。

首先,使用Web UI运行Locust时,您可以在“下载数据”选项卡下检索CSV文件。

其次,您可以使用标志运行Locust,该标志将定期保存两个CSV文件。如果您计划使用--no-web标志以自动方式运行Locust,这将特别有用:

$ locust -f examples/basic.py --csv=example --no-web -t10m

这些文件将被命名,example_distribution.csv并且example_requests.csv(使用时--csv=example)镜像Locust的内置统计页面。

Locust 学习

上一篇:python locust-事件顺序


下一篇:python locust_TaskSet声明任务的典型方法是使用task装饰器的两种方法