在介绍无图形界面模式运行前,我们先了解一下图形界面模式下的其他运行方式:
- 时间峰值运行模式
“负载测试 通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试 ”
通过上面定义可以看出,负载测试下用户是持续增长的,我们可以设定一个时间范围,在这个范围内用户保持一定的速率增长。
代码:
代码语言:javascript复制# 导入并继承LoadTestShape类
class CustomShape(LoadTestShape):
# 设定时间范围,在这个范围内用户会持续增长
time_limit = 30
# 设定每秒增加用户数
spawn_rate = 10
def tick(self):
'''
设置 tick()函数
并在tick()里面调用内置get_run_time()方法获取执行时间
'''
# 调用get_run_time()方法
run_time = self.get_run_time()
# 运行时间在30秒之内,则继续执行
if run_time < self.time_limit:
# 将执行时间四舍五入,作为用户数
user_count = round(run_time, 2)
# 返回user_count,spawn_rate这两个参数
return user_count, self.spawn_rate
在这个模式下,UI界面用户总数和用户增长率都是不能填写的,执行时自动填写。
注意如果您用的也是微信公众号接口,建议把时间写1秒就可以,因为请求速度增长非常快,只需要3秒,就把公众号一天的请求次数请求没了。
图形:
把上面代码添加到locust入门 -4 实战脚本开发的代码里就可以执行。