5.24-性能测试工具locust
性能测试工具locust
搭建python环境
locust:基于协程的设计,协程:微小的线程,基于用户的行为可以控制它。python一直很优秀但在性能方面表现很差劲,因此python设计协程来改进这部分的设计缺陷。locust对服务端的负载能力很强,使用它可以做服务端的稳定性测试。
在Python技术栈的体系中,性能测试的⼯具是Locust的测试框架,Locust是⼀种易于编写测试脚本和可以扩展的性能测试⼯具,它是基于协程或event的事件来进⾏设计的。协程:基于⽤户态的线程;微线程:也称协程,基于⽤户可以控制的⼀种微⼩的线程。
locust:非常优秀的性能测试工具且依赖于Python环境,因此使用它首先要安装python环境。安装步骤:
1.在C盘创建python3文件夹并把python-3.9.5-amd64.exe放里面
2.控制台输入pip3 install locust


1.打开

Type:请求类型(也就是请求具体是那个=⽅法)
Name:请求的路径地址信息
Requests:当前已完成的请求数量
Fails:当前失败的数量
Mediam(ms): 响应时间的中位数 90%ile
(ms):90%的请求响应时间
Average (ms):平均响应时间
Min (ms):最⼩响应时间
Max (ms):最⼤响应时间
Average size (bytes):平均请求的数据量
Current RPS:每秒中处理请求的数量,也就是RPS
New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑;
Statistics:聚合报告
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;
Failures:失败请求的展示界⾯;
Exceptions:异常请求的展示界⾯;
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、 exceptions;
jmeter与locust的区别:
1、JMeter是100%Java语言开发,是基于线程的模式向服务端发送请求
2、Locust是Python语言开发,是基于协程的模式
(面试)你之前有做过服务端稳定性测试吗?你是怎么理解它的?
1、服务端稳定性测试指的是持续高并发的向服务端发送请求,服务端都能够处理客户端发送的请求,通过这样的一个模式来验证服务端它在持续高负载下它的业务处理能力,和系统的整体设计能力。如一码通,持续72小时连续不停的扫描二维码,都应该能够很快速的出健康码。
2、有做过,如果是使用JMeter就是无限循环;如果使用locust就一直持续的请求,具体多久,我们之前是24小时连续不停的请求
打开locustfile2.根据之前步骤打开会直接显示8081端口
作业:性能需求满足1000用户同时使用该平台最大响应时间不能超过5秒
• 测试前期准备
梳理性能测试目标、测试场景、准备测试数据
测试目标: 模拟1000个用户同时使用这个平台响应时间不能超过5秒
测试场景:增删改 退出 服务器的资源
测试数据:分别以800、900、700、1000的线程组和1秒的响应时间测试返回的数据信息
准备人力和机器资源:生产环境和测试环境
jmeter:在jmeter添加后端监听器,把数据收集到influxdb数据库,在grafana平台上展示出来,对数据进行分析输出测试报告,通过展示的结果观察响应时间
locust:
• 性能测试计划 • 测试设计与开发 • 测试执行与管理,数据收集 • 测试分析
举例:以每秒并发500个用户(性能数据)为列做JMeter性能测试以及在可视化Grafana平台展示数据,并且给出结果数据
1.在Jmeter添加线程组模拟500个用户同时进行

启动后查看聚合报告中的响应最大最小时间、吞吐量
在grafana平台打开两个端口分别是jmeter和lunix查看具体数据如:CUP最高值、响应时间图、内存等
总结分析。

浙公网安备 33010602011771号