Linux 网络性能测试的正确方法

发布时间 - 2026-01-27 00:00:00    点击率:
用 iperf3 测内网带宽需避免默认单流,应加 -P 4、-w 2M、-t 30+,服务端加 -s -D;UDP 测试必加 -b;tc 模拟弱网前须清空规则;公网测速应手动选低延迟节点并取中位数;结果需综合带宽稳定性、丢包抖动、服务端负载三指标判断。

用 iperf3 测内网带宽,别直接跑默认命令

默认 iperf3 -c SERVER_IP 只测 10 秒 TCP 单流,结果常严重低估真实带宽——尤其在万兆、RDMA 或多核服务器场景下。单流受限于单线程吞吐和 TCP 窗口大小,容易卡在 1–3 Gbps 就上不去,哪怕物理链路是 10G。

实操建议:

  • -P 4 启动 4 并行流(根据 CPU 核数调整),避免单线程瓶颈
  • 显式设窗口大小:-w 2M(匹配高带宽时延积 BDP),否则小窗口会拖慢长距链路
  • 测试时间至少 -t 30,避开瞬时抖动干扰;关键链路建议 -t 300 观察稳定性
  • 服务端务必加 -s -D 后台运行,避免被 Ctrl+C 中断后残留进程占端口

常见错误:UDP 测试漏掉 -b 参数,iperf3 -c IP -u 默认只发 1 Mbps,根本测不出丢包和抖动——必须写成 iperf3 -c IP -u -b 900M 才有意义。

模拟弱网环境,tc netem 配置不能只写一条命令

tc 不是“设完就生效”的开关,而是分层队列管理器。直接 tc qdisc add ... 在已有规则上叠加,会导致规则冲突、延迟失效甚至网络中断。

安全做法:

  • 每次模拟前先清空:tc qdisc del dev eth0 root(注意替换为实际网卡名)
  • 复杂组合(如延时+丢包+乱序)必须用 netem 单一层实现,例如:tc qdisc add dev eth0 root netem delay 80ms 20ms distribution normal loss 2% reorder 5%
  • 测试完立刻恢复:tc qdisc del dev eth0 root,否则影响后续业务

容易踩的坑:在虚拟机或容器里用 tc,宿主机网卡名(如 ens3)和容器内看到的(如 eth0)不一致,配错设备名等于白配。

公网测速用 speedtest-cli,但别信“自动选服”

speedtest-cli 自动选的服务器可能跨省、绕运营商骨干网,测出来 50 Mbps 不代表你的真实出口能力——可能只是到那个节

点的路径被限速了。

更准的做法:

  • 先列可用节点:speedtest-cli --list | grep -i "shanghai\|beijing"(按地域过滤)
  • ping 延迟最低的几个,再逐个测:speedtest-cli --server 12345
  • 对比三次结果,取中位数;若某次上传速度突降 50%,大概率是该节点上行拥塞,不是你家宽带问题

注意:某些 ISP 会对 speedtest.net 的域名或 IP 做 QoS 优先级标记,导致结果虚高,内网验证仍需靠 iperf3

看结果时盯紧三类指标,别只扫一眼“Bandwidth”

一次完整测试要交叉验证三组数据,缺一不可:

  • 带宽稳定性:用 -i 1 每秒输出,观察最后 10 秒是否持续达标,还是前 5 秒冲高后断崖下跌(说明缓冲区溢出或驱动异常)
  • 丢包与抖动:UDP 测试必须看 Jitter(毫秒级)和 Lost/Total,视频会议场景 >5 ms 抖动或 >0.1% 丢包就会卡顿
  • 服务端负载:在 iperf3 -s 机器上同时跑 htopss -i,确认 CPU 不飙红、重传率(retrans)接近 0——否则瓶颈在本机,不是网络

最常被忽略的一点:所有测试必须关闭客户端和服务端的防火墙临时规则(sudo ufw disablesudo systemctl stop firewalld),否则 Connection refused 错误会误导你去查网线。


# linux  # 防火墙  # 虚拟机  # 端口  # ai  # 性能测试  # .net  # 线程  # udp  # 服务端  # 内网  # 链路  # 多核  # 清空  # 单线程  # 测速  # 几个  # 就会  # 不出 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何基于PHP生成高效IDC网络公司建站源码?  动图在线制作网站有哪些,滑动动图图集怎么做?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Linux网络带宽限制_tc配置实践解析【教程】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何破解联通资金短缺导致的基站建设难题?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  如何在Windows 2008云服务器安全搭建网站?  历史网站制作软件,华为如何找回被删除的网站?  在Oracle关闭情况下如何修改spfile的参数  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  韩国服务器如何优化跨境访问实现高效连接?  如何在万网自助建站中设置域名及备案?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何在万网主机上快速搭建网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  南京网站制作费用,南京远驱官方网站?  简历没回改:利用AI润色让你的文字更专业  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  HTML 中动态设置元素 name 属性的正确语法详解  Swift开发中switch语句值绑定模式  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  如何用VPS主机快速搭建个人网站?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  公司网站制作价格怎么算,公司办个官网需要多少钱?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  iOS中将个别页面强制横屏其他页面竖屏  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  网站制作企业,网站的banner和导航栏是指什么?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在建站之星绑定自定义域名?  Laravel如何实现事件和监听器?(Event & Listener实战)  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)