CentOS 上 JMeter 插件安装与使用教程
一 环境准备
- 安装 Java 8(JMeter 5.x 建议使用 Java 8 或 11):
- 安装 OpenJDK 8:
sudo yum -y install java-1.8.0-openjdk
- 验证:
java -version
- 下载并解压 Apache JMeter(示例版本 5.4.3):
- 下载:
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
- 解压:
tar -xzf apache-jmeter-5.4.3.tgz && mv apache-jmeter-5.4.3 /usr/local/jmeter
- 配置环境变量(写入 /etc/profile 并执行
source /etc/profile):
export JMETER_HOME=/usr/local/jmeter
export PATH=$JMETER_HOME/bin:$PATH
- 验证 JMeter:
jmeter -v。
二 安装 JMeter 插件
-
方式一 插件管理器(推荐)
- 下载 jmeter-plugins-manager-1.9.jar,放入 $JMETER_HOME/lib/ext,重启 JMeter。
- 在 GUI 中依次选择:Options → Plugins Manager,在 Available 或 Upgrades 中勾选所需插件(如 jpgc-Standard Set、PerfMon),点击 Apply Changes and Restart JMeter。
-
方式二 手动安装
- 将插件 JAR 直接放入 $JMETER_HOME/lib/ext,重启 JMeter 生效。
-
常用插件与用途
- jpgc-Standard Set:提供 Stepping Thread Group、Ultimate Thread Group、Response Times Over Time、Active Threads Over Time、Transactions per Second 等,用于复杂负载与可视化。
- PerfMon:服务端资源监控(CPU、内存、磁盘 I/O、网络 I/O)。
三 使用插件示例
-
示例一 阶梯加压与可视化
- 在测试计划中,将默认线程组替换为 jp@gc - Stepping Thread Group 或 jp@gc - Ultimate Thread Group,设置初始线程、递增步长、保持时长等,构造递增或浪涌场景。
- 添加监听器:
- jp@gc - Response Times Over Time(响应时间曲线)
- jp@gc - Active Threads Over Time(并发线程曲线)
- jp@gc - Transactions per Second(吞吐量 TPS)
- 运行后在监听器图表中观察 RT、并发、TPS 的动态变化,用于定位拐点与瓶颈。
-
示例二 服务端资源监控(PerfMon)
- 在被监控服务器部署 ServerAgent-2.2.3(需已安装 JDK):
- 解压:
unzip ServerAgent-2.2.3.zip
- 赋权:
chmod 775 startAgent.sh
- 启动:
./startAgent.sh(默认端口 4444;如需后台:nohup java -jar CMDRunner.jar --tool PerfMonAgent "$@" &)
- 在 JMeter 中添加监听器 jp@gc - PerfMon Metrics Collector:
- Host/IP:填写被监控服务器 IP
- Port:4444
- Metric to Collect:选择 CPU、Memory、Disks I/O、Network I/O 等;多种资源可 Add Row 添加多行
- 运行压测,查看各资源曲线;若采集不到,检查服务器 防火墙/安全组 是否放行 4444 端口。
四 无头运行与报告
- 非 GUI 执行压测(适合服务器环境):
- 基本命令:
jmeter -n -t test.jmx -l test.jtl -j test.log
- 说明:
-n 非 GUI,-t 指定脚本,-l 生成 JTL 结果,-j 日志文件
- 查看与分析
- 将 JTL 导入 JMeter GUI 的 聚合报告/图形结果 查看 平均响应时间、95/99 百分位、吞吐量、异常率 等指标
- 也可在 CI 中解析 JTL 生成报告(如 Jenkins 的 Performance Plugin)。
五 常见问题与排查
-
启动报错或权限不足
- 执行:
chmod 775 startAgent.sh 后再启动 ServerAgent;确保被监控端已安装 JDK 并可用 java -version 验证。
-
采集不到服务器指标
- 核对 Host/IP 与 Port 是否为 4444,确认 ServerAgent 已启动且输出无报错
- 检查 防火墙/安全组 是否放行 4444/TCP,必要时临时关闭防火墙验证连通性。
-
插件不生效
- 确认 plugins-manager.jar 或插件 JAR 已放入 $JMETER_HOME/lib/ext 并重启 JMeter;GUI 中通过 Plugins Manager 的 Upgrades 页确认已安装成功。