吞吐量

从传输的数据和时间计算网络吞吐量

如何使用吞吐量

  1. 1输入传输的数据量和所用时间。
  2. 2选择单位(MB/GB 与秒/分钟)。
  3. 3读取 Mbps 或 MB/s 吞吐率,并与链路容量比较。

吞吐率与带宽

吞吐率 = 传输数据量 / 时间;1 MB/s = 8 Mbps

吞吐率是实际成功交付数据的速率;带宽是链路的理论容量。

受开销、拥塞和协议低效(TCP、重传)影响,实际吞吐率常低于带宽。

**Goodput 才是用户真正关心的指标**:它扣除了协议头部、重传、握手等一切开销,只算有效应用数据的速率。一个 100 Mbps 链路,扣掉约 6% 的以太网+IP+TCP 头部、1% 的重传、以及 TCP 慢启动的影响,Goodput 通常只有 85–92 Mbps。**做容量规划时必须用 Goodput 而非带宽**,否则会系统性高估。

吞吐量的三个常见瓶颈:① **带宽受限**(小文件、低带宽链路);② **延迟受限**(大数据、高延迟链路,窗口不够大);③ **并发受限**(连接数不够、线程数不足)。判断方法:如果增加并发数吞吐就上升,说明是延迟/并发瓶颈;如果并发加到很多吞吐仍不涨,就是带宽瓶颈。**多线程下载、HTTP/2 多路复用都是为了解决延迟受限的问题。**

指标定义单位类比
带宽 Bandwidth链路最大容量bps公路车道数
吞吐量 Throughput实际成功传输速率bps单位时间通过的车
延迟 Latency数据到达所需时间ms单程行驶时间
抖动 Jitter延迟的波动ms行驶时间的稳定性
丢包率 Loss丢失包的比例%事故率
Goodput有效数据(不含头/重传)bps实际运到的货物

吞吐量 vs 带宽 vs 延迟的区别

常见问题

为什么速度只有套餐一半?

开销、竞争和 TCP 慢启动会让实际吞吐率远低于线速。

Mbps 还是 MB/s?

运营商用 Mbps(比特);文件传输显示 MB/s(字节)。除以 8 可比较。

Wi-Fi 能达到以太网吞吐吗?

通常不能;射频干扰与半双工空口会降低 Wi-Fi 吞吐。

怎么测真实吞吐量?

用 iperf3(命令行)在两端对打,能同时测 TCP 和 UDP,还能指定窗口大小、并发流数;用 speedtest.net 测互联网出口带宽;用 dd + scp 测磁盘到磁盘的实际传输速率。测的时候要注意:① 单向测还是双向测;② 测试时长至少 30 秒(避开 TCP 慢启动阶段);③ 多次测试取中位数;④ 排除其他流量干扰。UDP 测试还要关注抖动和丢包。

为什么千兆网络拷贝文件只有 40 MB/s?

320 Mbps 左右(40 MB/s)通常是**磁盘瓶颈**而非网络瓶颈。机械硬盘顺序读写约 100–150 MB/s,小文件随机读写可能只有 1–5 MB/s。SMB/CIFS 协议本身开销也不小(SMB 1.0 尤其慢,建议用 SMB 3.0)。另外加密(VPN、SMB 签名)、实时杀毒扫描、以及大量小文件的元数据操作都会大幅拖慢。排查方法:先用 iperf3 确认网络本身能跑满,再逐个排除磁盘、协议、软件因素。

更多工具