CentOS 上 JMeter 插件使用指南
一 环境准备
- 安装 Java 8(JMeter 5.x 建议使用 Java 8 或 11):执行命令:
sudo yum -y install java-1.8.0-openjdk,完成后用 java -version 验证。
- 下载并解压 Apache JMeter(示例版本 5.4.3):
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.3.tgz
tar -xzf apache-jmeter-5.4.3.tgz && mv apache-jmeter-5.4.3 /opt/jmeter
- 配置环境变量(写入
/etc/profile 或 ~/.bash_profile):
export JMETER_HOME=/opt/jmeter
export PATH=$JMETER_HOME/bin:$PATH
- 使配置生效:
source /etc/profile,验证:jmeter -v。
以上步骤完成后,即可在 CentOS 上使用 JMeter 与插件生态。
二 安装与卸载插件
- 方式一 插件管理器(推荐)
- 下载 jmeter-plugins-manager-.jar,放入
$JMETER_HOME/lib/ext;
- 启动 JMeter,在菜单 Options → Plugins Manager 中搜索并勾选所需插件,点击 Apply Changes and Restart JMeter;
- 可在 Installed Plugins 页查看、更新或卸载插件。
- 方式二 手动安装
将插件 JAR 直接放入 $JMETER_HOME/lib/ext,重启 JMeter 生效。
- 常用插件集
- Custom Thread Groups(如 Ultimate/ Stepping Thread Group)
- PerfMon (Servers Performance Monitoring)
- Basic Graphs(含 TPS、TRT、Active Threads Over Time)
- Graphs Generator Listener
- Throughput Shaping Timer
上述插件可显著扩展 JMeter 的负载模型、监控与可视化能力。
三 常用插件快速上手
- 负载模型插件
- 在 Thread Group 处选择 jp@gc - Ultimate Thread Group 或 jp@gc - Stepping Thread Group,可便捷构造 浪涌、递增、稳定 等复杂并发场景。
- 服务端资源监控
- 在被测服务器部署 ServerAgent(与操作系统无关),默认监听 TCP 4444;启动:
chmod +x startAgent.sh
./startAgent.sh(如需后台:nohup java -jar CMDRunner.jar --tool PerfMonAgent "$@" &)
- 在 JMeter 添加监听器 jp@gc - PerfMon Metrics Collector,配置服务器 IP:4444,按需勾选 CPU、Memory、Disks I/O、Network I/O 等指标;如需监控多台,新增多行。
- 结果可视化与吞吐量整形
- 添加 jp@gc - Transactions per Second、jp@gc - Response Times Over Time、jp@gc - Active Threads Over Time 观察 TPS、TRT、并发线程 趋势;
- 使用 jp@gc - Graphs Generator Listener 生成图表报告;
- 使用 Throughput Shaping Timer 精确控制 TPS 曲线。
以上插件组合覆盖从场景构造、实时监控到结果分析的关键环节。
四 无头运行与结果查看
- 非 GUI 执行(推荐在服务器环境使用)
- 执行:
jmeter -n -t test.jmx -l test.jtl 生成 JTL 结果;
- 如需 HTML 报告:
jmeter -g test.jtl -o report(报告目录需为空)。
- 远程监控连通性检查
- 在 JMeter 机器测试 ServerAgent 端口:
telnet <server_ip> 4444 或 nc -vz <server_ip> 4444;
- 如启用了 firewalld:
sudo firewall-cmd --add-port=4444/tcp --permanent && sudo firewall-cmd --reload。
- 常见问题
- 启动 ServerAgent 报权限不足:执行
chmod +x startAgent.sh;
- 出现 libsigar 相关警告可忽略,不影响基本监控;
- 插件未生效:确认 .jar 位于
$JMETER_HOME/lib/ext 并已重启 JMeter。
以上命令与检查项可确保测试在 CentOS 无头环境稳定运行,并能与服务器监控正常联动。
五 进阶 使用 InfluxDB 与 Grafana 可视化
- 部署 InfluxDB 1.7(Docker 方式):
docker run -d --name influxdb -p 8086:8086 -v $PWD:/var/lib/influxdb influxdb:1.7.10
- 部署 Grafana 并启动服务(系统服务方式或 Docker),在界面添加 InfluxDB 数据源(URL:
http://<influx_ip>:8086,库名如 jmeter)。
- 在 JMeter 添加 Backend Listener,选择 InfluxdbBackendListenerClient,配置 InfluxDB URL、数据库名、测试标题 等;运行后可在 Grafana 中构建 TPS、TRT、错误率 等实时看板。
该方案适合团队协作与长期趋势分析,与 ServerAgent 的“瞬时资源监控”互补。