Locust 是一款易于使用的分布式负载测试工具,完全基于事件,即一个 locust 节点也可以在一个进程中支持数千并发用户,不使用回调,通过 gevent 使用轻量级过程(即在自己的进程内运行)
1、安装,locust已经被封装python模块,所以可以直接用pip安装:pip3 intall locust
2、查看是否安装成功,locust -v
或 locust --help
3、新建一个demo.py脚本文件,输入如下代码:
# demo.py
import os
from locust import HttpUser,TaskSet,task
class WebsiteTasks(TaskSet):
def on_start(self):
self.client.post("/login",{
"username":"test",
"password":"123456"
})
@task(2)
def index(self):
self.client.get("/")
@task(1)
def index(self):
self.client.get("/about/")
class WebsiteUser(HttpUser):
# task_set = WebsiteTasks
tasks = [WebsiteTasks]
task_create = WebsiteTasks
host = "https://debugtalk.com"
min_wait = 1000
max_wait = 5000
if __name__ == '__main__':
os.system(r'locust -f test.py')
4、cmd打开终端,cd命令进入到demo脚本所在目录。
5、启动locust:locust -f demo.py --host=https://debugtalk.com
,
demo.py 就是我们写的脚本,若脚本代码里已经指定有了host,
这里可以直接简化为:locust -f demo.py
6、网页输入:http://localhost:8089 即可进入Locust的Web管理页面,若是非本地locust,则输入对应机子IP即可。


7、参数
参数说明:
Type :请求的类型,如GET/POST;
Name :请求的路径;
requests :已发出请求数量;
fails :请求失败的数量;
Median :响应时间的中间值(单位:毫秒);
Average :平均响应时间(单位:毫秒);
Min :请求的最小响应时间(单位:毫秒);
Max :请求的最大响应时间(单位:毫秒);
Average size (bytes) 包大小
Current RPS(current requests per second) 当前吞吐率
Current Failures/s 当前故障
Requests per second 吞吐率
tab参数说明:
New test:点击该按钮可对模拟的总虚拟用户数和每秒启动的虚拟用户数进行编辑;
Statistics:类似于jmeter中Listen的聚合报告;
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟用户数;
Failures:失败请求的展示界面;
Exceptions:异常请求的展示界面;
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、exceptions;
locust官网: https://www.locust.io/
locust 的官方 Github 是:https://github.com/locustio/locust
官网帮助文档: https://docs.locust.io/en/latest/installation.html
参考文档:
https://www.cnblogs.com/imyalost/p/9758189.html
https://www.cnblogs.com/kaka00311/p/16120486.html
https://blog.csdn.net/Sunny_Future/article/details/108249617
https://blog.csdn.net/liucaixin2016/article/details/116212828
网友评论