当前位置: 首页 > news >正文

Apache JMeter 压力测试使用说明

文章目录

    • 一、 安装步骤
      • 步骤一 下载相关的包
      • 步骤二 安装 Jmeter
      • 步骤三 设置 Jmeter 工具语言类型为中文
    • 二、使用工具
      • 2.1 创建测试任务
        • 步骤一 创建线程组
        • 步骤二 创建 HTTP 请求
      • 2.2 配置 HTTP 默认参数
        • 添加 HTTP消息头管理器
        • HTTP请求默认值
      • 2.3 添加 查看结果监听器
      • 2.4 查看结果

一、 安装步骤

步骤一 下载相关的包

安装 Jmeter 之前需要先安装好 JDK 环境 (1.8及以上)
windows 环境压缩包: 下载 Jmeter 5.6.3 安装包 zip 格式
官网下载地址

步骤二 安装 Jmeter

解压安装包copy到某个盘下,我这里放到F盘,进入 bin 目录,点击 jmeter.bat 启动 Jmeter
在这里插入图片描述

步骤三 设置 Jmeter 工具语言类型为中文

在这里插入图片描述

二、使用工具

2.1 创建测试任务

步骤一 创建线程组

在这里插入图片描述
设置参数值
在这里插入图片描述
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
Ramp-up就是每个线程的执行时间间隔,0表示并发
循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 100,那么每个线程发送 100 次请求。总请求数为 10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
Delay Thread creation until needed:直到需要时延迟线程的创建。
调度器配置:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
调度器配置参数:
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间

步骤二 创建 HTTP 请求

在创建的线程组,右键点击添加 HTTP 请求,如下图:
在这里插入图片描述
设置参数值
在这里插入图片描述
Web服务器
协议:向目标服务器发送 请求协议,可以是 HTTP 或 HTTPS,默认为 HTTP
服务器名称或 IP :HTTP 请求发送的目标服务器名称或 IP
端口号:目标服务器的端口号,默认值为 80
HTTP 请求
方法:发送 HTTP 请求的方法,可用方法包括 GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE 等。
路径:目标 URL 路径(URL中去掉服务器地址、端口及参数后剩余部分)
内容编码 :编码方式,默认为 ISO-8859-1 编码,可以配置为 utf-8
注意:如果是get请求,请求中发送的 URL 参数,可以将 URL 中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value)。

2.2 配置 HTTP 默认参数

配置全局地址,后面添加多个HTTP请求都会默认使用该地址(一次修改,方便省事)
在这里插入图片描述

添加 HTTP消息头管理器

如果需要请求头中添加参数,可添加HTTP消息头管理器
在这里插入图片描述

HTTP请求默认值

在这里插入图片描述

2.3 添加 查看结果监听器

注意: 这里有个问题每次启动运行完后,上次数据还在,本人用了比较笨的方法删除重新添加监听器,如果有好的方法可以讨论。
添加结果树
在这里插入图片描述
添加聚合报告
在这里插入图片描述
添加汇总报告
在这里插入图片描述

2.4 查看结果

在这里插入图片描述
Label:每个JMeter的element的Name值,例如HTTP Request的Name;
样本:发出请求数量;模拟1000个用户,循环100次,所以显示了2000;
平均值:平均响应时间(单位:ms);默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间;
中位数:50%的用户响应时间小于这个值;
95%百分位:95%的用户响应时间小于这个值;
99%百分位:99%的用户响应时间小于这个值;
最小值:用户响应时间最小值;
最大值:用户响应时间最大值;
异常%:测试出现的错误请求数量百分比;请求的错误率 = 错误请求的数量/请求的总数;若出现错误就要看服务端的日志查找定位原因;
吞吐量:Throughput简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好;
接收KB/sec:每秒从服务器端接收到的数据量
发送KB/sec:每秒发送到服务器端的数据量

参考文档:
https://blog.csdn.net/qq_29864051/article/details/135655907
https://blog.csdn.net/u010098950/article/details/133929894

http://www.lryc.cn/news/518802.html

相关文章:

  • 腾讯云AI代码助手编程挑战赛-知识百科AI
  • 【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述
  • HTTP-响应协议
  • SQL进阶实战技巧:即时订单比例问题
  • 什么是端口
  • 【Flutter】使用ScrollController配合EasyRefresh实现列表预加载:在还未滑动到底部时加载下一页数据
  • 【2025 Rust学习 --- 11 实用工具特型01】
  • 网络安全基础以及概念
  • windows和linux的抓包方式
  • 【Uniapp-Vue3】v-if条件渲染及v-show的选择对比
  • 宝塔面板使用 GoAccess Web 日志分析教程
  • Windows 安装 Docker 和 Docker Compose
  • arcgis中用python脚本批量给多个要素类的相同字段赋值
  • 目标客户营销(ABM)结合开源AI智能名片2+1链动模式S2B2C商城小程序的策略与实践
  • 《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》
  • 新模型设计:Hybrid Quantum-Classical Neural Network (HQCNN) for Image Classification
  • iOS 中spring动画的使用
  • 初学stm32 --- DMA直接存储器
  • 校医院挂号及预约 APP 的设计与实现
  • 代理模式详解与应用
  • Model-based RL自动出价算法的演进之路
  • .NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人
  • 框架部分面试题学习
  • tdengine数据库使用java连接
  • Java 模板变量替换——字符串替换器(思路Mybatis的GenericTokenParser)
  • 跨界融合:人工智能与区块链如何重新定义数据安全?
  • android 自定义SwitchCompat,Radiobutton,SeekBar样式
  • 计算机网络的定义与发展历程
  • 对比学习 (Contrastive Learning) 算法详解与PyTorch实现
  • DBeaver执行本地的sql语句文件避免直接在客户端运行卡顿