测试相关知识(四)locust的相关知识
1、locust相关知识
操作系统最小运行的单位是进程,而进程最小运行单位是线程
协程:微小的线程,是基于用户行为
locust是基于协程来进行设计的
locust的默认端口为8089
1.1简介以及应用的场景
locust是一个简单易用的分布式用户负载测试工具,他用于web站点(或其他系统)的负载测试,并结算一个系统可以处理多少并发用户。
locust完全基于事件,因此可以在一台计算机上支持数千个并发用户、与许多其他基于事件的应用程序不同,他不适用回调。相反它通过gevent使用轻量级进程。每个聚集站点上的蝗虫实际上是在它自己的进程中使用的。这允许你使用Python编写非常有表现力的场景,而不用回调使代码复杂化。
2、python代码相关
2.1安装locust库
cmd控制台输入
pip3 install locust
2.2代码编写
import time from locust import HttpUser,task,between class QuickStartUser(HttpUser): wait_time = between(1,2.5) @task def index(self): r=self.client.get('/login') assert r.status_code==200
"代码解析"
在@task里面,我们使用装饰器定义了微线程的用户请求,也就是模拟用户请求 路由地址为/login的接口信息、
wait_time是模拟每个用户耗时在1至2.5秒之间。
前提条件:需要进入到 文件的路径内当中
locust - f locustfile.py
因为我们是部署在本地,所以进入http://locahost:8089/即可进入界面
3.locust的内部具体操作方式
具体代码解析
Type:请求类型(也就是请求具体是那个=⽅法)
Name:请求的路径地址信息
Requests:当前已完成的请求数量
Fails:当前失败的数量 Mediam(ms): 响应时间的中位数
90%ile (ms):90%的请求响应时间
Average (ms):平均响应时间
Min (ms):最⼩响应时间
Max (ms):最⼤响应时间
Average size (bytes):平均请求的数据量
Current RPS:每秒中处理请求的数量,也就是RPS
菜单相关知识
3.1在locust排查相关的错误信息
如果出现页面定位错误(每次发送请求都出错) 如果出现404的错误提示信息 如下图所示
这个时候我们就需要填写正确的HOST既可正确的发送请求
3.2用locust生成性能测试报告
点击Download Data 点击Download Report
当我们下载好后会生成一个HTML的文件 打开即可查看测试报告