locust压测的基本使用
locust压测的基本使用
这里介绍的是在本地启动locust以及做后续压测的流程以及各个参数含义
一、启动locust
执行命令 locust -f **.py (python脚本)
如下图:
二、locust的UI界面
1、启动界面
打开locust的web界面,浏览器访问:http://127.0.0.1:8089或localhost:8089
说明:如果是其他机器搭建locust服务,则输入该机器的IP+端口即可;
如下图:
Number of users(peak concurrency):设置模拟的用户总数(峰值并发数)。
Ramp up(users started/second):这个参数指定了每秒钟添加到负载测试中的新用户数量。它控制着用户的产生速率。
Host: 这个参数是目标系统的URL,即你要测试的应用程序或服务的地址。
Advanced Options: 设定时间范围,在这个范围内用户保持一定的速率增长。
填写完成后点击“START”即可开始测试
三、分享测试结果
1. 顶部信息
即头部的信息,包括host、slaves、RPS、failures等重要信息。
另外还有三个按钮:
EDIT: 对模拟的总虚拟用户数和每秒启动的虚拟用户数进行编辑
STOP: 停止locust脚本运行
RESET: 重置
2. 实时统计信息
在Locust的Web界面上,可以实时查看当前用户数量、每秒完成的请求数、失败请求数等指标的统计信息。
3. 各模块说明
Statistics:类似于jmeter中Listen的聚合报告;
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟用户数;
Failures:失败请求的展示界面;
Exceptions:异常请求的展示界面;
Current radio: 当前信息
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、exceptions;
Logs: locust压测运行日志
4. 详细统计信息-Statistics
在"Statistics"标签页下,可以查看更详细的统计信息,包括每个API端点的请求数、失败请求数、响应时间分布等。
各参数含义如下:
Type:请求类型,即接口的请求方法;
Name:请求路径;
Requests:当前已完成的请求数量;
Fails:当前失败的数量;
Median:响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒;
90%ile: 95%的接口响应时间小于这个值,单位为毫秒
99%ile: 99%的接口响应时间小于这个值,单位为毫秒
Average:平均响应时间,单位为毫秒;
Min:最小响应时间,单位为毫秒;
Max:最大响应时间,单位为毫秒;
Average Size:平均每个请求的数据量,单位为字节;
Current RPS(requests per second):每秒钟处理请求的数量,即RPS。
Current Failures/s:每秒失败数量
说明:Locust的结果展示十分简单,主要就四个指标:并发数、RPS、响应时间、异常率。但对于大多数场景来说,这几个指标已经足够了。
5. 图表展示
在"Charts"标签页下,可以根据测试结果生成图表,以可视化不同指标随时间的变化趋势。
测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟用户数。
6. 导出测试结果数据
可以将测试结果导出为CSV格式的数据报告。在"Download data"标签页下,选择要导出的数据。
测试数据下载模块,提供三种类型的CSV格式的下载,分别是 requests CSV、failures CSV、exceptions CSV。
说明:在这个过程中,可以随时停止测试,调整参数,当然,也可以在测试数据收集完成后,导出测试结果。
7. 总结
性能测试首先而在于分析性能测试的需求,设计性能测试场景,尽可能的模拟真实环境中的压力(正常和异常情况)。然后结果是考察并发用户数、响应时间、tps这类指标。
四、几个常用性能测试工具比较推荐
locust 比 Jmeter 好的一点就是高并发,但是相对的不好的地方也有,就是需要另外的工具去监控服务器,而且需要去编写代码。
参考链接:https://www.cnblogs.com/ailiailan/p/9474973.html