在 Linux 中通过端口测试网速,最可靠的方法是使用 iperf3 启动服务端端口(默认 5201),由客户端发起 TCP/UDP 吞吐量测试;如果只测公网上传下载,speedtest-cli 对接 Ookla 节点更省事,2026 年主流服务器发行版均可一条命令部署,端口测速比网页测速更接近真实业务带宽。

为什么端口测速比网页测速更接近真实带宽
网页测速会经过浏览器、HTTP 协议栈、CDN 缓存和机房调度,结果波动大,端口直测直接把数据包打到 TCP/UDP 层,排除了中间层干扰。
- 排除应用层损耗:网页测速包含 HTML、JS、图片请求,端口测速只计算纯传输速率。
- 符合运维真实场景:数据库同步、文件传输、视频推流都基于端口吞吐。
- 可复现性强:固定端口、固定线程数和时长,结果可用于横向对比。
- 行业依据:IETF RFC 6349 将 TCP 吞吐量作为网络性能测试的重要框架,iperf3 是 Linux 端最常用的实现工具。
Linux 端口测速工具选型
2026 年 Linux 服务器端常用的三类工具定位不同,选错工具会导致数据偏差。
| 工具 | 端口/协议 | 适用场景 | 优势 | 局限 |
|---|---|---|---|---|
| iperf3 | TCP/UDP,默认 5201 可改 | 内网、跨地域、微突发吞吐测试 | 参数丰富,结果稳定,支持反向测试 | 需要两端部署 |
| speedtest-cli | HTTPS 调度节点 | 公网上行/下行速率 | 无需自建服务端,节点丰富 | 受运营商调度影响 |
| qperf | TCP/UDP 多端口 | 带宽、时延、RDMA 综合测试 | 一次测多种指标 | 学习成本略高 |
iperf3 为什么是端口测速首选
iperf3 在 Linux 上安装极简,Ubuntu/Debian 用 `apt install iperf3`,CentOS/Rocky 用 `dnf install iperf3`,它直接打开服务端端口,客户端以指定速率或最大速率发包,能够清晰区分 TCP 有效吞吐和 UDP 丢包率。
iperf3 端口测速实操
1 服务端启动端口
在待测服务器上执行:
- 启动默认端口:
iperf3 -s - 指定端口:
iperf3 -s -p 5201 - 防火墙放行:
firewall-cmd --add-port=5201/tcp --add-port=5201/udp
服务端会监听 5201 端口,若使用云服务器,还需在安全组放行该端口。
2 客户端发起测速
在另一台 Linux 机器上执行:
- 基础 TCP 测试:
iperf3 -c 服务端IP -p 5201 -t 20 - 多线程测试:
iperf3 -c 服务端IP -p 5201 -P 4 -t 20 - 反向测试:
iperf3 -c 服务端IP -p 5201 -R,用于测下载方向 - UDP 测试:
iperf3 -c 服务端IP -u -b 1000M -t 20
3 结果解读与基准
iperf3 输出的 `sender` 和 `receiver` 中,receiver 数值才是实际可用吞吐,常见端口速率有效值如下:
| 网卡端口 | 理论速率 | Linux 单线程有效吞吐 | Linux 多线程有效吞吐 |
|---|---|---|---|
| 千兆口 | 1 Gbps | 约 940 Mbps | 约 941 Mbps |
| 万兆口 | 10 Gbps | 约 4.8 Gbps | 约 9.4 Gbps |
|
25 Gbps | 25 Gbps | 约 9 Gbps | 约 23.5 Gbps |
内网与公网场景怎么测
内网千兆端口速度测试
内网测试最容易暴露交换机、网线、网卡双工问题,2026 年数据中心普遍使用 Cat6A 或光纤,若千兆口跑不满 940 Mbps,优先检查:
- 网卡是否协商到 1000Full
- 网线是否劣质或过长
- 服务端是否有 CPU 限速或虚拟化损耗
公网及地域节点对比
公网测速受运营商骨干网和跨境链路影响,以北京 Linux 服务器测速为例,使用 `speedtest-cli –list` 选择北京联通或北京电信节点,上传下载更贴近真实用户访问,iperf3 在公网则需要自建远端服务端,建议使用同一云厂商同地域的临时实例,避免跨运营商绕路。
Linux 与 Windows 测速对比
同配置下 Linux 服务器测速与 Windows 对比,Linux 的 TCP 处理效率通常更高,Windows 受 Winsock 缓冲和默认窗口限制,单线程 iperf3 结果可能比 Linux 低 5%—10%,这也是多数压测端使用 Linux 的原因。
端口测速结果偏低的排查方向
iperf3 端口测速不达预期,可以按以下顺序排查:
- MTU 不一致:两端 MTU 不同会产生分片,导致速率骤降。
- 单线程受限:万兆以上端口必须用
-P 4或更高并行流。 - TCP 缓冲区不足:用
-w 4M调大窗口。 - 虚拟化损耗:云主机小型实例的 PPS 限制会影响端口吞吐。
- 内核参数:开启 BBR 或调整
net.core.rmem_max、net.core.wmem_max。
提升精度的三个技巧
使用 `-J` 输出 JSON 格式,方便脚本记录和历史对比。
每次测试至少 20 秒,避开突发缓存影响。
多轮测试取中位数,不要取第一次峰值。
Linux 通过端口测试网速的核心命令是 `iperf3 -s` 开启服务端端口,客户端用 `iperf3 -c IP -p 端口 -P 4 -t 20` 发起测试,内网优先用 iperf3,公网优先用 speedtest-cli;遇到瓶颈先查 MTU、并行流和内核缓冲,掌握端口测速,能更准确地判断网络故障和业务带宽余量。
问答模块
linux怎么通过端口测试网速最简单?
安装 iperf3 后,服务端执行 `iperf3 -s -p 5201`,客户端执行 `iperf3 -c 服务端IP -p 5201 -t 20 -P 4`,三分钟即可得到 TCP 吞吐量。
iperf3 默认端口是什么,可以修改吗?
默认端口是 5201,可以通过 `-p` 参数改为任意未占用端口,例如服务端 `iperf3 -s -p 6000`,客户端对应 `iperf3 -c IP -p 6000`。
内网千兆端口速度测试只有 500Mbps 怎么办?
先检查网卡协商速率、网线质量、交换机端口双工模式,再尝试增加并行流 `-P 4`,若仍不达标,可能是虚拟机实例限速或 CPU 软中断瓶颈。
如果你在具体发行版或云平台上遇到端口测速异常,可以留言内核版本、网卡型号和测速命令,方便进一步判断。

参考文献
Lawrence Berkeley National Laboratory,iPerf3 官方文档,2026 年访问查阅。
Ookla,Speedtest CLI 官方使用手册,2026 年访问查阅。
IETF,RFC 6349《Framework for TCP Throughput Testing》,2011 年发布。
Linux man-pages,iperf3(1) 命令手册,2026 年访问查阅。
以上就是关于“linux通过端口测试网速”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/457966.html