本人所用locust版本为2.4.0
有的时候可能要下班了,压力测试log可能仅需要1个小时的。但是我们又不想加班,我们仅需要让其运行1个小时,明天来分析这一个小时的log。那怎么办呢?locust给我们提供了设定默认运行时间的功能。
1.配置文件启动locust
我们想要设定运行时间,web-UI 页面是不支持的。我们只能通过命令行的方式来启动,我们可以配置locust启动配置参数,如下:
1.1 创建locust配置文件
touch locust.conf # 当然配置文件名可以任意
# 向locust.conf中添加如下内容:
locustfile = /usr/local/locust_test.py # locust 功能脚本文件路径
logfile = /var/lopg/locust.log # 日志文件路径
loglevel = debug # 日志等级
web-port = 8088 # web页面端口。设置默认时间可忽略该端口
host = http://47.107.36.103:17333 # 待测服务地址
headless = true # 禁用web界面,并立即开始测试。使用-u和-t来控制用户数量和运行时间
users = 10 # 并发用户的峰值数
spawn-rate = 10 # 生成用户的速率(用户每秒)。主要与-headless或-autostart一起使用
run-time = 2m # locust运行时间
1.2 测试脚本中添加stop方法
经过本人测试,单单添加配置文件,运行程序是无效的,需要在测试脚本on_stop()方法中添加self.stop(True),我的测试脚本大概如下:
class MyTest(HttpUser):
weight = 1
wait_time = between(0.5, 1)
def on_start(self):
"""
可用于用户登录测试
:return:
"""
print("加载查询数据......")
def on_stop(self):
"""
程序被杀死时调用
:return:
"""
self.stop(True) # 这个一定要添加True
print("清空查询数据......")
def test(self):
"""
压测函数,具体逻辑可参考我的上一篇locust文章
"""
pass
1.3 启动locust测试工具
要确保已经安装了locust工具,在命令行中输入:
locust --config=error_correct.conf
# locust工具开始运行,在2分钟周停止运行