乐于分享
好东西不私藏

JMeter插件配置教程:Plugins Manager + PerfMon

JMeter插件配置教程:Plugins Manager + PerfMon

JMeter插件配置教程:Plugins Manager + PerfMon,性能测试效率翻倍!

从“只会跑脚本”到“精准定位瓶颈”,只差这两个插件

作为一名性能测试工程师,JMeter可以说是我们吃饭的家伙。但你有没有遇到过这样的场景:

  • • 压测跑完了,只知道TPS上不去,却不知道是服务器CPU满了还是内存爆了?
  • • 想看实时资源曲线,还得在服务器上开好几个终端敲命令?
  • • 想要阶梯式加压,只能手动写一堆线程组?

今天我就来教大家如何通过安装 Plugins Manager 和 PerfMon 这两款插件,让你的JMeter从“普通工具”变身“性能测试利器”!

为什么要安装这两个插件?

Plugins Manager 是JMeter的“插件应用商店”,有了它,你可以像在手机应用商店里装App一样,一键安装、更新、卸载各种插件,再也不用手动去找jar包、担心版本兼容性问题了。

PerfMon(服务器性能监控插件) 则能让你在JMeter界面里实时看到被压测服务器的CPU、内存、磁盘I/O、网络等关键指标的变化曲线。这意味着:

  • • 压测过程中,一眼就能看出瓶颈在哪
  • • 不需要在服务器和JMeter之间来回切换
  • • 测试报告可以直接附上资源监控图表,说服力拉满!

一、Plugins Manager 安装教程

1.1 下载Plugins Manager

访问JMeter Plugins Manager官网:
https://jmeter-plugins.org/wiki/PluginsManager/

点击下载 jmeter-plugins-manager-x.x.x.jar 文件(选择最新版本)。

1.2 安装到JMeter

将下载的jar包复制到JMeter安装目录的 lib/ext 文件夹下:

cp jmeter-plugins-manager-*.jar /你的JMeter路径/apache-jmeter-x.x/lib/ext/

1.3 重启JMeter验证

关闭并重新启动JMeter,点击顶部菜单栏的 Options(选项),如果看到 Plugins Manager 选项,说明安装成功!

二、通过Plugins Manager安装常用插件

2.1 打开Plugins Manager

点击 Options → Plugins Manager,会弹出插件管理窗口。

窗口分为三个标签页:

  • • Available Plugins:可用插件列表,浏览并选择要安装的插件
  • • Installed Plugins:已安装插件列表
  • • Upgrades:可更新的插件

2.2 安装jpgc – Standard Set(基础插件集)

在 Available Plugins 搜索框中输入 jpgc,勾选 jpgc – Standard Set,点击右下角的 Apply Changes and Restart JMeter,等待下载安装完成,JMeter会自动重启。

jpgc – Standard Set 包含的常用组件:

组件名称
用途
jp@gc – Stepping Thread Group
阶梯式加压线程组,模拟用户逐步增加的过程
jp@gc – Transactions per Second
监控TPS(每秒事务数)
jp@gc – Response Times Over Time
监控响应时间变化趋势
jp@gc – Active Threads Over Time
监控活跃线程数变化

2.3 安装PerfMon插件(核心重点!)

同样在 Available Plugins 中搜索 PerfMon,勾选 PerfMon (Servers Performance Monitoring),点击 Apply Changes and Restart JMeter

安装完成后,在监听器(Listener)中就能看到 jp@gc – PerfMon Metrics Collector 了。

三、PerfMon插件配置教程(重中之重!)

PerfMon插件的工作原理是:JMeter端插件 + 服务器端Agent,两端配合才能实现监控。

3.1 在被测服务器部署ServerAgent

这是整个配置中最关键的一步!

步骤1:下载ServerAgent

从GitHub Releases下载ServerAgent:
https://github.com/undera/perfmon-agent/releases

选择 ServerAgent-2.2.3.zip 下载。

步骤2:上传并解压

将压缩包上传到被测服务器(如CentOS/Ubuntu),解压:

# 上传后解压
unzip ServerAgent-2.2.3.zip -d /opt/ServerAgent
# 或使用tar(如果下载的是tar.gz版本)
tar -xzf ServerAgent-2.2.3.tar.gz

步骤3:启动ServerAgent

进入解压后的目录,执行启动命令:

cd /opt/ServerAgent
chmod +x startAgent.sh
./startAgent.sh

默认监听 4444端口,如果端口被占用,可以指定其他端口:

./startAgent.sh --tcp-port 9003 --udp-port 9003 &

建议后台运行:

nohup ./startAgent.sh &

步骤4:验证Agent是否启动成功

# 查看端口监听状态
netstat -tulnp | grep 4444
# 或使用ss命令
ss -lntp | grep 4444

如果看到Java进程正在监听,说明启动成功!

步骤5:防火墙放行(如有需要)

# CentOS
firewall-cmd --add-port=4444/tcp --permanent
firewall-cmd --reload

# Ubuntu
sudo ufw allow 4444/tcp

3.2 在JMeter中配置PerfMon监听器

步骤1:添加PerfMon Metrics Collector

在测试计划中,右键点击线程组 → 添加 → 监听器 → jp@gc - PerfMon Metrics Collector

步骤2:添加监控指标

点击 Add Row,配置以下参数:

参数
说明
示例值
Host/IP
被测服务器IP地址
192.168.1.100
Port
ServerAgent端口
4444(与启动时一致)
Metric to collect
监控指标类型
CPU / Memory / Disks I/O / Network

常用的监控指标

  • • CPU:CPU使用率(重点关注)
  • • Memory:内存使用率
  • • Disks I/O:磁盘读写情况
  • • Network I/O:网络流量

步骤3:运行测试并查看结果

启动JMeter测试,PerfMon监听器会实时绘制出服务器的资源使用曲线。

四、实战效果演示

4.1 压测场景示例

假设我们要对一个登录接口进行阶梯式压测:

  • • 起始线程数:10
  • • 每30秒增加10个线程
  • • 最大线程数:100
  • • 运行时间:5分钟

4.2 使用Stepping Thread Group配置

安装jpgc插件后,右键添加 jp@gc - Stepping Thread Group,轻松配置阶梯参数,不需要写复杂的逻辑!

4.3 监控效果

运行测试后,PerfMon会展示如下曲线:

  • • CPU曲线:随着线程数增加,CPU使用率逐步上升
  • • Memory曲线:查看是否存在内存泄漏
  • • TPS曲线:与CPU曲线对比,判断瓶颈是否在CPU

通过这几种曲线的联动分析,可以快速定位性能瓶颈:

  • • TPS上不去 + CPU很低 → 可能是网络/数据库/代码锁问题
  • • TPS上不去 + CPU很高 → 服务器计算能力不足
  • • 内存持续上涨不释放 → 可能存在内存泄漏

五、更多实用插件推荐

除了PerfMon和jpgc,这些插件也非常值得安装:

插件名称
功能描述
推荐指数
Custom Thread Groups
提供Ultimate Thread Group等多种线程组类型
⭐⭐⭐⭐⭐
Throughput Shaping Timer
按目标TPS精确控制吞吐量
⭐⭐⭐⭐
3 Basic Graphs
TPS、响应时间、活跃线程基础图表
⭐⭐⭐⭐
Dummy Sampler
模拟采样器,用于脚本调试
⭐⭐⭐
JSON Plugins
JSON数据处理(Path Extractor等)
⭐⭐⭐⭐

六、常见问题与解决方案

Q1: Plugins Manager菜单不显示?

A:检查jar包是否放在正确的 lib/ext 目录下,并确认已重启JMeter。

Q2: PerfMon连接不上服务器?

A:按以下步骤排查:

  1. 1. 检查ServerAgent是否启动:ps aux | grep java
  2. 2. 检查端口是否监听:netstat -tulnp | grep 4444
  3. 3. 检查防火墙是否放行
  4. 4. 检查JMeter中填写的IP和端口是否正确
  5. 5. 用telnet测试连通性:telnet 服务器IP 4444

Q3: ServerAgent启动报错?

A:确保服务器已安装Java 8或更高版本:

java -version

Q4: 压测时PerfMon图表卡顿或不更新?

A

  • • 降低采集间隔(Interval),默认1秒即可
  • • 减少同时监控的指标数量
  • • 检查JMeter机器资源是否充足

七、高级技巧:无GUI模式如何保存监控数据?

在生产环境执行压测时,我们通常使用无GUI模式(jmeter -n -t script.jmx -l result.jtl)。那PerfMon的数据怎么保存呢?

方法:在PerfMon Metrics Collector中勾选 Save Table Data,指定CSV文件路径。测试结束后,可以在图表界面点击 Load CSV 来复盘历史数据。

更专业的方案:结合 InfluxDB + Grafana,将JMeter的测试数据和PerfMon的监控数据统一存储到InfluxDB,在Grafana中制作实时监控大屏,效果堪比商业工具!

写在最后

通过安装 Plugins Manager 和 PerfMon 这两个插件,你的JMeter将获得:

  • • 更灵活的加压方式:Stepping Thread Group让负载模型更贴近真实场景
  • • 更直观的资源监控:CPU、内存、磁盘、网络一目了然
  • • 更高效的瓶颈定位:性能指标与资源指标联动分析,问题定位快人一步

JMeter 从入门到实战:一篇搞定性能测试