IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Jmeter压测工具的使用 -> 正文阅读

[开发测试]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:响应时间分布图

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 13:03:57  更:2022-05-09 13:04:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:19:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码