JMeter使用

实习过程中,使用到了JMeter测试工具,记录一下基本使用。

JMeter 是一个开源的负载测试工具,可以用来测试各种服务的性能,包括 Web 应用、数据库、FTP 服务等。它的界面友好,功能强大,支持多种协议。本文将介绍如何使用 JMeter 进行性能测试。

安装及使用

  1. 访问 Apache JMeter官网 下载最新版本的 JMeter。
  2. 解压下载的压缩文件,进入解压后的目录。
  3. 运行 bin 目录下的 jmeter.bat(Windows)或 jmeter.sh(Unix/Linux)文件启动 JMeter。

基本页面及操作介绍

  • 菜单栏:包含文件、编辑、运行、选项、工具和帮助菜单。
  • 工具栏:包含常用操作按钮,如新建、打开、保存、运行、停止等。
  • 测试计划树:左侧的树状结构,用于组织和配置测试计划的各个组件。
  • 工作区:右侧的编辑区域,用于配置选中的测试组件的详细信息。
  • 日志视图:显示 JMeter 的日志信息。

创建一个基本的测试计划

1. 添加测试计划

在左侧的测试计划树中,右键点击“测试计划”节点,选择“添加” -> “线程(用户)” -> “线程组”。线程组是 JMeter 中的一组用户,可以模拟并发用户数。

2. 配置线程组

选择刚刚添加的线程组,在右侧的工作区中配置线程属性:

  • 线程数:10(模拟 10 个并发用户)。
  • Ramp-Up 时间:5 秒(5 秒内启动所有线程)。
  • 循环次数:1(每个线程执行一次)。

3. 添加 HTTP 请求

右键点击线程组,选择“添加” -> “取样器” -> “HTTP 请求”。在右侧的工作区中配置 HTTP 请求的属性:


  • 名称:HTTP请求名称
  • 协议:http
  • 服务器名称或 IPwww.baidu.com(要测试的目标服务器)。
  • 端口号:8082(目标服务器的端口号)。
  • HTTP请求:GET
  • HTTP 请求路径/user/list(请求的具体路径)。

4. 添加监听器

监听器用于收集和查看测试结果。右键点击线程组,选择“添加” -> “监听器” -> “查看结果树”。结果树可以详细显示每个请求的响应。

5. 运行测试计划

点击工具栏上的“启动”按钮(绿色三角形)开始测试。测试运行后,可以在“查看结果树”中查看每个请求的详细响应信息。

可以选择返回结果的格式,查看是否符合预期结果

6. 分析测试结果

JMeter 提供多种监听器用于分析测试结果,例如:

  • 聚合报告:右键点击线程组,选择“添加” -> “监听器” -> “聚合报告”。显示汇总的性能指标,如平均响应时间、

根据需要可自行查看

常用到的一些工具

1. 添加Json提取器

当某个请求的参数需要用到之前的返回结果时,可以通过JSON提取器,提取返回结果中的值。

右键点击“HTTP请求”-“添加”-“后置处理器”-“JSON提取器”


JSON PATH语法可以通过查看结果树获取,选择JSON Path Tester格式。

JSON Path语法格式:

从根元素由上往下提取需要的元素

  • $:表示根元素

  • .[]:表示子元素

在使用JSON提取器提取到变量后,即可在后续请求中携带。使用${xxx}即可替换为对应的数据。

可以看到在发送请求时,${}自动替换成了提取的值

2. 添加定时器

定时器用于控制两个请求之间的时间间隔,比如在增、删、改这些操作后立即查询,如果不添加定时器,可能会出现请求已经发送,但是数据库没有发生改变的情况。这里就需要添加定时器,在间隔一段时间后再进行查询。

右键点击“HTTP请求”-“添加”-“定时器”-“固定定时器”

可以设置名称、线程延迟等。

3. 添加用户参数

我们可以添加用户参数用于http请求参数

右键点击“线程组”-“添加”-“前置处理器”-“用户参数”

在用户参数中,我们既可以设定固定的值,也可以调用JMeter的函数获取需要的值。

常见JMeter函数可以获取当前时间等,有需要请查阅其他资料

在后续请求中,通过${}的形式调用设置好的用户参数

可以看到,在后续请求中即可引用相关参数

Linux环境JMeter的使用

为什么要非GUI模式运行

jmeter是java语言开发,实际是运行在JVM中的,GUI模式运行需要耗费较多的系统资源,一般来说,GUI模式要占用10%-25%的系统资源。

而使用非GUI模式(即linux或dos命令)可以降低对资源的消耗,提升单台负载机所能模拟的并发数。

1. 环境配置:安装jdk

2. 下载和安装JMeter:

下载JMeter压缩包

解压至linux目录

3. Windows下创建测试计划

Windows环境下启动JMeter,设置好压测环境和场景,保存至.jmx文件中

4. Linux下运行测试计划

移动至JMeter文件夹的bin目录,如果设置了环境变量,可以在任意目录下直接运行 JMeter。

使用以下命令在非GUI模式下运行测试计划:

./jmeter.sh -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

这里的参数解释:

-n:表示非GUI模式(non-GUI mode)

-t:指定测试计划文件(.jmx 文件)的路径

-l:指定结果文件(.jtl 文件)的路径,用于保存测试结果

-e:测试结束后生成报告

-o:测试报告存放目录,必须是空目录

5. 查看测试结果

可以通过文本编辑工具查看.jtl文件

vim工具打开:vi test.jtl

Notepad++打开:

也可以通过Windows下JMeter GUI界面进行查看

右键点击“线程组”-“添加”-“监听器”-“汇总报告”,导入jtl文件

也可以打开指定目录下生成的html格式的测试报告。

涉及到的参数有

  1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
  2. #样本(#Samples):请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
  3. 平均值(Average):平均响应时间——默认情况下是单个 Request 的平均响应时间,
  4. 中位数(Median):也就是 50% 用户的响应时间
  5. 90%百分位(90% Line):90% 用户的响应时间
  6. 最小值(Min):最小响应时间
  7. 最大值(Max):最大响应时间
  8. 异常%(Error%):错误率——错误请求数/请求总数
  9. 吞吐量(Throughput):默认情况下表示每秒完成的请求数(Request per Second),
  10. 发送/接收KB/Sec:每秒向服务器端发送或从服务器端接收到的数据量
posted @ 2024-08-07 10:21  forest-pan  阅读(5)  评论(0编辑  收藏  举报