官方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)访问并设置参数
Number of users to simulate: 设置模拟用户数
Hatch rate(users spawned/second): 每秒产生(启动)的虚拟用户数
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的内置统计页面。