性能测试工具 零基础测开学习 23——JMeter 定时器 + 分布式 + 测试报告 + 第三方插件

EternalRights · March 24, 2026 · 164 hits

前言

        虽 AI 测试浩浩荡荡,但高台之下,基础之石依旧是我们测试生态的重要一环。本篇是本系列 JMeter 完结篇。

        若没有 JMeter 基础,请点击前往:零基础测开学习 19——JMeter 基础

        若不了解 JMeter 经典组件与参数化,请点击前往:零基础测开学习 20——JMeter 三个重要组件 + 参数化

        若不了解 JMeter 必不可少的断言或者是特定场景下至关重要的关联,请点击前往:零基础测开学习 21——JMeter 断言 + 关联

        若不了解 JMeter 与数据库相关的操作以及编写脚本的逻辑件,请点击前往:零基础测开学习 22——JMeter 直连数据库 + 逻辑控制器


JMeter 定时器

同步定时器

作用

阻塞线程(累积一定的请求),当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起释放,瞬间产生很大的压力。

位置

位置:测试计划 ——> 线程组 ——>HTTP 请求 ——> (右键添加) 定时器 ——>Synchronizing Timer

参数

  • 模拟用户组的数量:指定同时释放的线程数量,若设置为 0,等于设置为线程组中的线程数量
  • 超时时间以毫秒为单位:超时多少毫秒后同时释放指定的线程数:
    • 如果设置为 0,该定时器会等待线程数达到设置的线程数才释放,若没有达到设置的线程数会一直死等
    • 如果大于 0,那么如果超过 “超时时间以毫秒为单位” 中设置的最大等待时间后还没达到设置的线程数,Timer 将不再等待,释放已到达的线程。默认为 0

常数吞吐量

作用

让 JMeter 按指定的吞吐量执行,以每分钟为单位

位置

测试计划 ——> 线程组 ——> HTTP 请求 ——>定时器 ——> Constant Throughout Timer


JMeter 分布式

执行原理


JMeter 分布式测试时,选择其中一台作为控制机,其它机器作为代理机。

  • 执行时,控制机会把脚本发送到每台代理机上
  • 代理机拿到脚本后就开始执行,代理机执行时不需要启动 JMeter 界面,可以理解它是通过命令行模式的方式执行的
  • 执行完成后,代理机会把结果回传给控制机,控制机会收集所有的代理机的信息并汇总

相关事宜注意

  • 关闭防火墙
  • 所有的控制机、代理机、服务器都在同一个网络上
  • 所有机器的 JMeter 和 JAVA 版本必须一致
  • 关闭 RMI SSL 开关

配置与运行

配置——修改 bin / JMeter.properties 文件

  • 代理机
    • 修改服务端口:保证每个代理机都能正常启动。如果是在同一台机器上演示需要使用不同的端口,多台机器可以不修改。例如:sever_port = 2999
    • 将 RMI SSL 设置为禁用。例如:server.rmi.ssl.disable = true
  • 控制机
    • 配置代理机远程地址:配置每个代理机的 IP + port,多个代理机之间用 “,” 连接
    • 将 RMI SSL 设置为禁用。例如:server.rmi.ssl.disable = true

执行

  • 代理机(命令行方式运行)
    • 进入 bin 目录,运行 jmeter-server.bat 文件,启动 JMeter
  • 控制机(界面方式运行)
    • 进入 bin 目录,运行 jmeter.bat 文件,启动 JMeter
    • 选择菜单:运行——>远程启动/远程全部启动

JMeter 测试报告

聚合报告

作用

收集性能测试结束后,系统的各项性能指标。如:响应时间、并发量、吞吐量、错误率等

位置

测试计划 ——> 右键 ——> 监听器 ——> 聚合报告

参数


html 测试报告

作用

JMeter 支持生成 HTML 测试报告,以便从测试计划中获取图表和统计信息

命令

jmeter -n -t [jmx file] -l [result file] -e -o [html report folder]

参数描述

  • -n:非 GUI 模式执行 JMeter
  • -t[jmx file]:测试计划保存的路径及.jmx 文件夹,路径可以是相对路径也可以是绝对路径
  • -l[result file]:保存生成测试计划的文件,jtl 文件格式
  • -e:测试结束后,生成测试报告
  • -o[html report folder]:存放生成测试报告的路径,路径可以是相对路径,也可以是绝对路径

JMeter 第三方插件

下载

为什么需要下载第三方插件?

1.JMeter 自带监控功能无法监控服务器资源怎么办?
2.JMeter 自带的报告不能精确统计运行过程中的性能指标变化怎么办?

说明

先下载 JMeter 插件管理工具包,再用此包下载 JMeter 插件

下载插件管理包步骤

网址:https://jmeter-plugins.org/wiki/PluginsManager/

1.下载包管理工具 jar 包
2.将包管理工具 jar 包添加到 JMeter 放入到 lib\ext 目录下
3.重启 JMeter,可以在选项下看到插件管理器

安装第三方插件的步骤

1.打开 Plugins Manager 插件管理器

2.选择 Available Plugins,当前可用的插件
3.选择需要下载的插件(等待右方文本内容展示出来,因为防火墙的原因)
4.下载右下角的下载按钮,自动的完成下载,JMeter 会自动重启

PerfMon 组件监控服务器资源

作用

用来监控服务端的性能资源指标的工具,包括 CPU、内存、磁盘、网络等性能指标

添加方法

线程组——>监听器——>jp@gc - PerfMon Metrics Collector

注意

使用之前需要在服务端安装监听服务程序并启动

监控服务器资源指标的步骤

1.下载安装包 ServerAgent-2.2.3.zip,链接地址:“https://github.com/undera/perfmon-agent
2.上传到服务器上,并解压 ServerAgent-2.2.3.zip
3.启动,如果是 windows 运行 startAgent.bat,如果是 linux 运行 startAgent.sh
4.启动这个工具后,JMeter 插件 jp@gc - PerfMon Metrics Collector 就可以收集服务端的资源使用利用率,并在 JMeter 中查看了


后记

        前段时间笔者一直在跟进最新的 AI 测试技术,文章的重心放在了前沿领域,而回头发现沙海拾贝还是非常有必要的。尤其是在我不断深入 AI 测试技术的时候,我发现 AI 测试想要达到多么光辉灿烂的效果,重点就在于自己的基础的扎实程度,譬如:我在设计 SKILL 包达到自动化 JMeter 脚本的时候,就发现与 JMeter 相关的知识是多么的重要。

        文章的最后,笔者呼吁各位测试人员一定要沙海拾贝,切勿在海市蜃楼中迷失了航向。

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up