性能测试4
locust(蝗虫)
locust概述
locust:是基于Python语言的性能测试工具,它是基于协程的思想来进行设计的。Python语言是没有办法利用多核的优势,所以了Python为了解决这个问题,设计了协程,作为协程的任务,遇到IO堵塞就立刻切换。 什么是协程,协程可以简单的来说就是微线程。
locust主要做负载测试和稳定性测试,也可以做压力测试
安装locust
命令:pip3 install locust

验证是否安装成功

web模式
编写代码

运行
执行后就会i出现如下信息


下⾯具体针对界⾯的⽂字设置进⾏解释,具体如下:
Number of total users to simulate:设置模拟的⽤户总数
Spawn rate (users spawned/second):每秒启动的⽤户虚拟数
Host (e.g. http://www.example.com):被测的⽬标服务器的地址信息

测试结果

下⾯具体看这些信息展示的含义,具体总结如下:
Type:请求类型(也就是请求具体是那个=⽅法)
Name:请求的路径地址信息 Requests:当前已完成的请求数量
Fails:当前失败的数量
Mediam(ms): 响应时间的中位数
90%ile (ms):90%的请求响应时间
Average (ms):平均响应时间
Max (ms):最⼤响应时间
Average size (bytes):平均请求的数据量
Current RPS:每秒中处理请求的数量,也就是RPS
菜单栏具体为:
New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑;
Statistics:聚合报告
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;
Failures:失败请求的展示界⾯;
Exceptions:异常请求的展示界⾯;
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、 exceptions;
下⾯点击Charts查看测试结果的变化趋势图,具体如下:

负载模式
写代码

运行

性能测试计划
背景:
描述具体是干什么,干这件事的前因后果
公司之前的测试团队做API的⾃动化测试都是使⽤JMeter等⼯具来进⾏,这样的话测试效率⽽⾔不是那么很⾼,⽽ 且在扩展性⽅⾯不是很有竞争⼒的。所以开发了新的测试平台,但是考虑到公司的测试⼈员有1000⼈,那么就需要 验证1000⼈同时使⽤测试平台,是否会出现平台⽆响应以及崩溃(雪崩)的情况。
前置工作

技术选型(工具)


测试风险
有无依赖项目,必须依照客观事实
测试上传文件最大支持2G
测试得方式是,上传2G JVM查看是否oom如果没有再上传2.1G查看测出上限再定义支持做大上传大小
十个人同时上传1G及1G以下文件是否会oom
各种场景都要考虑
locust开发 代码
测试执行过程中,需要收集数据
性能测试关注指标:
1、时间
2、CPU与内存的变化趋势
指标:
1、系统资源:CPU与内存
2、响应时间:最小,最大,平均,中位数,90%,95%,99%
3、吞吐量
4、IOPS,连接数 5、JVM的资源变化趋势关注
100万一码通
90万
150万
1、系统资源:CPU与内存
2、响应时间:最小,最大,平均,中位数,90%,95%,99%
3、吞吐量
4、IOPS,连接数
测试报告
参与人员

报告汇总
测试并发登录
测试结论:结果结果不符合预期,在100⽤户并发登录的情况下,响应时间最⼤是31.88s。
过程数据:
错误汇总

测试风险

测试结论
依据上述的各个结果,整体测试结论具体汇总如下:

浙公网安备 33010602011771号