Locust 介绍
一个开源性能测试工具。基于 Python 语言。
Locust 安装
方式一:通过 pip 命令安装
> pip install locust
编写性能测试脚本
创建 load_test.py 文件,通过 Python 编写性能测试脚本。
fromlocustimportHttpLocust, TaskSet, task
# 定义用户行为
classUserBehavior(TaskSet):
@task
defbaidu_index(self):
task_set = UserBehavior
min_wait = 3000
max_wait = 6000
UserBehavior类继承TaskSet类,用于描述用户行为。
baidu_index() 方法表示一个用户为行,访问百度首页。使用@task装饰该方法为一个事务。client.get()用于指请求的路径“/”,因为是百度首页,所以指定为根路径。
WebsiteUser类用于设置性能测试。
task_set :指向一个定义的用户行为类。
min_wait :执行事务之间用户等待时间的下界(单位:毫秒)。
max_wait :执行事务之间用户等待时间的上界(单位:毫秒)。
执行性能测试
启动性能测试
> locust -f .\load_test.py --host=https://www.baidu.com
[2017-10-16 16:44:40,839] DESKTOP-SMGQBBM/INFO/locust.main: Starting web monitor at *:8089
[2017-10-16 16:44:40,842] DESKTOP-SMGQBBM/INFO/locust.main: Starting Locust 0.8
-f 指定性能测试脚本文件。
–host 指定被测试应用的URL的地址,注意访问百度使用的HTTPS协议。
通过浏览器访问:http://localhost:8089(Locust启动网络监控器,默认为端口号为: 8089)
设置测试
Number of users to simulate 设置模拟用户数。
Hatch rate(users spawned/second) 每秒产生(启动)的虚拟用户数。
点击 “Start swarming” 按钮,开始运行性能测试。
运行测试
性能测试参数说明:
Type: 请求的类型,例如GET/POST。
Name:请求的路径。这里为百度首页,即:https://www.baidu.com/
request:当前请求的数量。
fails:当前请求失败的数量。
Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。
Average:平均值,单位毫秒,所有请求的平均响应时间。
Min:请求的最小服务器响应时间,单位毫秒。
Max:请求的最大服务器响应时间,单位毫秒。
Content Size:单个请求的大小,单位字节。
reqs/sec:是每秒钟请求的个数。
领取专属 10元无门槛券
私享最新 技术干货