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 包含的常用组件:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
| Port |
|
|
| Metric to collect |
|
|
常用的监控指标:
-
• 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 |
|
|
| Throughput Shaping Timer |
|
|
| 3 Basic Graphs |
|
|
| Dummy Sampler |
|
|
| JSON Plugins |
|
|
六、常见问题与解决方案
Q1: Plugins Manager菜单不显示?
A:检查jar包是否放在正确的 lib/ext 目录下,并确认已重启JMeter。
Q2: PerfMon连接不上服务器?
A:按以下步骤排查:
-
1. 检查ServerAgent是否启动: ps aux | grep java -
2. 检查端口是否监听: netstat -tulnp | grep 4444 -
3. 检查防火墙是否放行 -
4. 检查JMeter中填写的IP和端口是否正确 -
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、内存、磁盘、网络一目了然 -
• 更高效的瓶颈定位:性能指标与资源指标联动分析,问题定位快人一步

夜雨聆风