Ubuntu下JMeter如何监控网络流量
导读:Ubuntu下JMeter监控网络流量的实用方案 一、监控对象与总体思路 区分两类监控目标: 被测系统的网络流量:关注被测服务器(Ubuntu)的网卡收发速率,用于发现带宽瓶颈、TCP重传等问题。 JMeter自身的网络吞吐:关注JMe...
Ubuntu下JMeter监控网络流量的实用方案
一、监控对象与总体思路
- 区分两类监控目标:
- 被测系统的网络流量:关注被测服务器(Ubuntu)的网卡收发速率,用于发现带宽瓶颈、TCP重传等问题。
- JMeter自身的网络吞吐:关注JMeter机器发出的请求字节速率,用于评估脚本与客户端瓶颈。
- 常用方案对比:
- PerfMon Metrics Collector + ServerAgent:在JMeter中直接绘图,适合快速接入与本地/内网压测。
- InfluxDB + Grafana:后端监听器写入时序库,面板丰富、适合团队协作与长期留存。
- 系统命令(如 sar/nload):轻量、无侵入,适合临时排查或无法安装插件的场景。
二、方案一 PerfMon Metrics Collector + ServerAgent(JMeter内嵌图表)
- 适用场景:在JMeter GUI或非GUI模式下直接查看服务器Network I/O曲线。
- 步骤
- 安装JMeter插件
- 下载并解压插件包,将JMeterPlugins-Standard.jar、JMeterPlugins-Extras.jar复制到JMeter安装目录的**$JMETER_HOME/lib/ext**,重启JMeter生效。
- 在被测Ubuntu上部署并启动ServerAgent
- 上传并解压ServerAgent,赋予执行权限并启动:
- chmod +x startAgent.sh
- ./startAgent.sh
- 默认监听TCP/UDP 4444端口;如需变更端口:
- java -jar CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777
- 验证连通性(JMeter所在机器执行):
- nc -vz < 被测服务器IP> 4444
- 上传并解压ServerAgent,赋予执行权限并启动:
- 在JMeter添加监听器并配置
- 测试计划 → 添加 → 监听器 → jp@gc - PerfMon Metrics Collector
- 新增一行,填写被测服务器Host/IP与Port(默认4444)
- 勾选采集项:选择Network I/O(可同时添加CPU、Memory、Disk I/O等)
- 运行测试,即可在图表中实时查看网络吞吐曲线。
- 指标与单位提示
- Network I/O默认单位为Bytes/s,如需KB/s、MB/s可在图表或导出数据后换算(1 MB/s = 1,048,576 Bytes/s)。
- 安装JMeter插件
三、方案二 InfluxDB + Grafana(可视化与留存)
- 适用场景:需要历史趋势、团队协作、与JMeter其他指标统一展示。
- 步骤
- 部署时序库与可视化
- 启动InfluxDB(示例版本1.x),创建数据库(如jmeter)。
- 启动Grafana,添加InfluxDB数据源(URL:http://:8086,Database:jmeter)。
- 导入JMeter官方面板模板(ID:5496),在面板中选择对应的application标签查看。
- JMeter写入后端监听器
- 测试计划 → 添加 → 监听器 → Backend Listener
- 选择实现类:org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
- 关键参数示例:
- influxdbUrl:http://:8086/write?db=jmeter
- application:自定义应用名(Grafana中筛选用)
- summaryOnly:false(记录每个事务)
- 运行压测后,Grafana面板将展示吞吐量、响应时间、错误率等,并可扩展自定义网络相关面板(如结合系统采集数据)。
- 扩展(可选)
- 若需在同一面板中展示服务器Network I/O,可在Ubuntu上部署ServerAgent,由JMeter的PerfMon监听器采集并写入InfluxDB(需自定义写入逻辑或改造后端监听器),或在Grafana中叠加另一数据源(如Telegraf+InfluxDB)。
- 部署时序库与可视化
四、方案三 系统命令与轻量排查(无需安装插件)
- Ubuntu自带工具
- sar(需安装sysstat):查看网卡历史/实时流量
- 安装:sudo apt-get install sysstat
- 实时:sar -n DEV 1 100
- 指定网卡:sar -n DEV 1 100 | grep < eth0|ens33>
- nload:直观查看实时速率
- 安装:sudo apt-get install nload
- 使用:nload < eth0|ens33>
- iftop:按连接查看带宽占用
- 安装:sudo apt-get install iftop
- 使用:sudo iftop -i < eth0|ens33>
- sar(需安装sysstat):查看网卡历史/实时流量
- 适用说明
- 适合临时定位、无图形界面或无法部署Agent的环境;数据可与JMeter报告结合人工比对分析。
五、常见问题与排查要点
- ServerAgent连不通
- 检查被测机防火墙/安全组是否放行4444(或自定义端口);必要时改用未占用端口并同步修改JMeter配置。
- 使用nc/telnet验证连通性;若端口不通,更换端口或排查本机监听(netstat -tulpen | grep )。
- 单位与换算
- PerfMon的Network I/O默认是Bytes/s;换算关系:KB/s = Bytes/s ÷ 1024,MB/s = Bytes/s ÷ 1,048,576。
- 采集对象选择
- 压测机自身瓶颈排查:优先看JMeter所在机的nload/iftop/sar输出。
- 被测系统瓶颈排查:在被测Ubuntu上采集Network I/O(ServerAgent或系统命令),并结合TCP重传、丢包等指标综合分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下JMeter如何监控网络流量
本文地址: https://pptw.com/jishu/777905.html
