Apache JMeter 压力测试使用说明

文章目录

    • [一、 安装步骤](#一、 安装步骤)
      • [步骤一 下载相关的包](#步骤一 下载相关的包)
      • [步骤二 安装 Jmeter](#步骤二 安装 Jmeter)
      • [步骤三 设置 Jmeter 工具语言类型为中文](#步骤三 设置 Jmeter 工具语言类型为中文)
    • 二、使用工具
      • [2.1 创建测试任务](#2.1 创建测试任务)
        • [步骤一 创建线程组](#步骤一 创建线程组)
        • [步骤二 创建 HTTP 请求](#步骤二 创建 HTTP 请求)
      • [2.2 配置 HTTP 默认参数](#2.2 配置 HTTP 默认参数)
      • [2.3 添加 查看结果监听器](#2.3 添加 查看结果监听器)
      • [2.4 查看结果](#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

相关推荐
程序员的世界你不懂4 小时前
Jmeter(四) - 如何在jmeter中创建网络测试计划
jmeter
ALLSectorSorft6 小时前
上门服务小程序会员系统框架设计
小程序·apache
杨过姑父7 小时前
部署开源版禅道,修改apache端口无效解决
bug·apache·软件工程·issue
酷爱码8 小时前
Spring Boot 整合 Apache Flink 的详细过程
spring boot·flink·apache
黑客老李1 天前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
1.01^10001 天前
[5-02-04].第01节:Jmeter环境搭建:
jmeter
临水逸1 天前
可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
apache·grafana
SelectDB技术团队1 天前
Apache Doris + MCP:Agent 时代的实时数据分析底座
人工智能·数据挖掘·数据分析·apache·mcp
田猿笔记1 天前
Apache DolphinScheduler 和 Apache Airflow 对比
apache