0


Jmeter压测工具的使用

一、MAC GUI模式使用jmeter

1.1 下载工具安装包

官网地址:https://jmeter.apache.org/download_jmeter.cgi

1.2 解压安装包

unzip apache-jmeter-5.4.1.zip

1.3 启动jmeter工具

cd Users/XXXXXX/Downloads/work/安装包/apache-jmeter-5.4.1/bin
sh jmeter

1.4 GUI模式下使用介绍

1.4.1 切换语言

在这里插入图片描述

1.4.2 创建压测脚本

1、新建文件,设置线程组。测试计划右键->添加->线程->线程组
在这里插入图片描述
请添加图片描述

  • Ramp-Up时间(秒):值为0时表示并发

2、创建HTTP请求,线程组右键-> 添加-> 取样器-> HTTP请求
请添加图片描述
在这里插入图片描述
3、添加监听器,线程组右键-> 添加-> 监听器-> 选择其中1种或多种结果显示方式
在这里插入图片描述

1.4.3 打印请求的响应数据到jmeter.log

通过添加beanshell后置脚本,可以将响应输出到log中,便于排除问题

String resData = prev.getResponseDataAsString();
log.info("请求的响应数据:" + resData)

在这里插入图片描述

二、Linux 非GUI模式使用jmeter

前提:Linux机器上已经有了jmeter工具包

2.1 使用方式

执行压测的命令如下:

./bin/jmeter -n -t presstestscript.jmx -l  withdrawcashqps-1-result.jtml -e -o report_output

参数介绍:

  • -n:非GUI模式执行jmeter
  • -t:测试脚本jmx的路径
  • -l:指定生成测试结果的保存文件,jtml文件格式
  • -e:测试结束后,生成测试报告
  • -o:html测试报告路径
  • -h:帮助 -> 打印出有用的信息并退出
  • -r: 远程执行 -> 启动远程服务
  • -H: 代理主机 -> 设置JMeter使用的代理主机
  • -P:代理端口 -> 设置JMeter使用的代理主机的端口号

⚠️注意:

  • 踩过的坑:压测脚本必须自己执行结束,report_output(测试报告目录)中才会有相应的测试报告;人为手动停止压测不会在report_output中产生测试报告
  • report_output(html测试报告路径)目录要为空,不然报错
  • 压测时需要注意,非8000~9000的端口不能在本地访问,因此要在开发机上运行

2.2 测试报告解析

2.2.1 Dashboard界面

1)Test and Report informations
Source file:jtl文件名
Start Time :压测开始时间
End Time :压测结束时间
Filter for display:过滤器
Lable:sampler采样器名称
2)APDEX(Application performance Index)
apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意
T(Toleration threshold):可接受阀值
F(Frustration threshold):失败阀值
3)Requests Summary
OK:成功率
KO:失败率
4)Statistics 统计数据
lable:sampler采样器名称
samples:请求总数,并发数*循环次数
KO:失败次数
Error%:失败率
Average:平均响应时间
Min:最小响应时间
Max:最大响应时间
90th pct: 90%的用户响应时间不会超过这个值(关注这个就可以了)2ms,3ms,4,5,2,6,8,3,9
95th pct: 95%的用户响应时间不会超过这个值
99th pct: 99%的用户响应时间不会超过这个值 (存在极端值)
throughtput:Request per Second吞吐量 qps
received:每秒从服务器接收的数据量
send:每秒发送的数据量

2.2.2 Charts

1)Over Time(随着时间的变化)
Response Times Over Time:响应时间变化趋势
Response Time Percentiles Over Time (successful responses):最大,最小,平均,用户响应时间分布
Active Threads Over Time:并发用户数趋势
Bytes Throughput Over Time:每秒接收和请求字节数变化,蓝色表示发送,黄色表示接受
Latencies Over Time:平均响应延时趋势
Connect Time Over Time :连接耗时趋势
1)Throughput
Hits Per Second (excluding embedded resources):每秒点击次数
Codes Per Second (excluding embedded resources):每秒状态码数量
Transactions Per Second:即TPS,每秒事务数
Response Time Vs Request:响应时间和请求数对比
Latency Vs Request:延迟时间和请求数对比
1)Response Times
Response Time Percentiles:响应时间百分比
Response Time Overview:响应时间概述
Time Vs Threads:活跃线程数和响应时间
Response Time Distribution:响应时间分布图


本文转载自: https://blog.csdn.net/sinat_34241861/article/details/124615620
版权归原作者 小小平不平凡 所有, 如有侵权,请联系我们删除。

“Jmeter压测工具的使用”的评论:

还没有评论