简介
Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)
安装
pip install locust # pip install locustio
查看是否安装成功/版本
locust -v
编写测试用例
1 创建==locust.HttpUser== 之类 2 为待测试用例添加@locust.task 装饰器 3 使用self.client 发送请求 4 指定 wait_time 属性
命令行启动
locust -f locustfile.py --headless -u 500 -r 10 --host 123 -t 1h5m
框架是通过命令locust运行的,常用参数有:
-H:指定测试的主机地址(注:会覆盖Locust类指定的主机地址)
-f:指定测试脚本地址(注:脚本中必须包含一个Locust的衍生类)
--no-web:不启动web网页,而是直接开始运行测试,需提供属性-c和-r
-u:并发的用户数,与--no-web一起使用
-r:每秒启动的用户数,与--no-web一起使用
-t:运行时间(单位:秒),与--no-web一起使用
-L:日志级别,默认为INFO 调试命令: locust -f **.py --no-web -u 1 -t 1
执行
# 命令行运行 locust -f xxx.py
启动Locust 要使用上述Locust文件运行Locust,如果该文件名为locustfile.py且位于当前工作目录中,则可以运行: $ locust 如果Locust文件位于与locustfile.py在不同的子目录/或者文件名不一样,则使用参数-f+文件名: $ locust -f locust_files/my_locust_file.py 要在多个进程中运行Locust,我们可以通过指定--master: $ locust -f locust_files/my_locust_file.py --master 然后我们将启动任意数量的从属进程: $ locust -f locust_files/my_locust_file.py --slave 如果要在多台机器上运行Locust,则在启动从属服务器时还必须指定主服务器主机(在单台计算机上运行Locust时不需要,因为主服务器主机默认为127.0.0.1): $ locust -f locust_files/my_locust_file.py --slave --master-host=192.168.0.100 还可以在配置文件(locust.conf或~/.locust.conf)或以LOCUST_前缀的env vars中设置参数 例如:(这将与上一个命令执行相同的操作) $ LOCUST_MASTER_HOST=192.168.0.100 locust 注意:要查看所有可用选项,请键入:locust—help
错误提示
提示:ModuleNotFoundError: No module named“xxx”
将xxx所在文件路径添加到sys.path
如模块demo路径:E://pycode/demo
sys.path.append(os.path.abspath("..")) print(os.path.abspath(".."))
<Tips:即将E://pycode路径添加到sys.path中>
标签:web,no,python,Locust,py,locust,--,模块 From: https://www.cnblogs.com/phoenixy/p/16880464.htmllocust官方文档参考:https://cloud.tencent.com/developer/article/1594240
入门详解参考:https://blog.csdn.net/sugela8/article/details/125362026