一、带宽测试基础

什么是带宽?

带宽这个词,说白了就是「数据管道有多粗」。

我经常跟团队里的新人这么解释:想象你面前有一根水管,带宽就是这根水管的直径。直径越大,单位时间内能流过的水就越多。在网络上,带宽就是单位时间内能传输的数据量。

举个例子。你家宽带是 100Mbps,意思是每秒最多能传 100 兆比特的数据。这跟你家水龙头开到最大,每秒能流出多少升水是一个道理。

我个人习惯把带宽理解成「道路的宽度」。车道越多,同时跑的车就越多。但注意,带宽大不代表你每次都能跑满——这还取决于路况,也就是网络的实际状况。

核心定义:带宽(Bandwidth)是指在单位时间内,从网络一端传输到另一端的数据量上限。单位通常是 bps(比特每秒)。

带宽的单位换算

这里有个坑,我见过不少新手栽跟头。带宽的单位换算,其实没那么复杂,但容易混淆。

基本单位是 bit(比特),注意是小写的 b。而我们平时说的文件大小,用的是 Byte(字节),是大写的 B。

1 Byte = 8 bits。这个关系一定要刻在脑子里。

单位 全称 换算关系
bps 比特每秒 1 bps = 1 bit/s
Kbps 千比特每秒 1 Kbps = 1,000 bps
Mbps 兆比特每秒 1 Mbps = 1,000 Kbps
Gbps 吉比特每秒 1 Gbps = 1,000 Mbps
MB/s 兆字节每秒 1 MB/s = 8 Mbps

举个例子你就明白了。你办了个 100Mbps 的宽带,下载文件时看到的速率是多少?

100 Mbps ÷ 8 = 12.5 MB/s。所以理论上,你下载速度最快是 12.5 MB/s 左右。

注意:运营商宣传的「100兆宽带」,指的是 100 Mbps,不是 100 MB/s。我曾经遇到一个客户,投诉说「我办的100兆宽带,下载速度才12兆,你们是不是骗人?」——其实就是单位换算没搞清楚。

带宽与吞吐量的区别

这两个概念,很多人混为一谈。我刚开始做网络时也犯过这个错。

带宽是理论值,吞吐量是实际值。

带宽就像高速公路的限速牌——写着「最高时速120公里」。但实际你能开多快?得看车流量、天气、有没有事故。这个实际速度,就是吞吐量。

吞吐量(Throughput)指的是在特定条件下,网络实际传输数据的速率。它受很多因素影响:

  • 网络延迟
  • 丢包率
  • 协议开销
  • 设备处理能力
  • 并发连接数

举个例子。你有个 1Gbps 的链路,理论上每秒能传 1G 比特。但实际测试下来,可能只有 800Mbps。那 200Mbps 去哪了?被协议头、重传、排队延迟等等吃掉了。

一句话总结:带宽是「能跑多快」,吞吐量是「实际跑多快」。两者之间的差值,就是网络损耗。

我记得有一次帮客户排查问题,他们买了 10Gbps 的专线,但业务端总感觉慢。我一测吞吐量,只有 3Gbps。查了半天,发现是防火墙的会话数上限设得太低,导致大量包被丢弃。这就是典型的「带宽大、吞吐量小」的案例。

常见带宽测试工具概览

做带宽测试,工具选对了,事半功倍。我这些年用过不少工具,挑几个最常用的说说。

1. iPerf3

这是我最常用的工具,没有之一。轻量、跨平台、结果准确。

# 服务端启动
iperf3 -s

# 客户端测试(默认TCP)
iperf3 -c 192.168.1.100

# UDP测试,指定带宽
iperf3 -c 192.168.1.100 -u -b 100M

iPerf3 能测 TCP 和 UDP 的吞吐量,还能指定并发流数、测试时长。我个人习惯用 30 秒测试,取平均值。

2. Speedtest CLI

基于 Ookla 的 Speedtest,适合测互联网带宽。命令行版很方便。

speedtest-cli --simple

它会自动找最近的服务器,测下载和上传速度。但注意,这个工具测的是「到互联网的带宽」,不是局域网内的。

3. Netperf

老牌工具,功能比 iPerf 更丰富。支持批量测试、多种协议。

# 服务端
netserver

# 客户端
netperf -H 192.168.1.100 -l 30

Netperf 的报表更详细,适合做性能回归测试。我一般在做长期监控时用它。

4. Ping & Traceroute

严格来说,这两个不是带宽测试工具,但它们是排查问题的好帮手。

  • Ping:测延迟和丢包率。延迟高、丢包多,带宽再大也没用。
  • Traceroute:看数据包经过哪些节点,找出瓶颈在哪。

我的建议:做带宽测试前,先 Ping 一下目标。如果延迟超过 100ms 或者有丢包,那测出来的吞吐量肯定不准。先把网络质量搞好了,再谈带宽。

知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以把它当成一张地图,随时回来看看。

带宽测试基础 什么是带宽 数据管道的粗细 单位换算 bit vs Byte 带宽 vs 吞吐量 理论 vs 实际 测试工具 iPerf3 / Speedtest / Netperf 核心逻辑 理解概念 → 掌握换算 → 区分吞吐量 → 选对工具 → 开始测试

嗯,这张图把本章的四个核心知识点串起来了。从理解带宽的定义开始,到掌握单位换算,再到区分吞吐量,最后选对工具。每一步都是下一环的基础。

本章要点回顾:

  • 带宽是理论最大传输速率,单位是 bps
  • 1 Byte = 8 bits,换算时别搞混
  • 吞吐量是实际传输速率,受多种因素影响
  • iPerf3 是最推荐的带宽测试工具

好了,带宽测试的基础就聊到这儿。这些概念看着简单,但我在实际项目中见过太多人栽在单位换算和吞吐量理解上。你把这些搞清楚了,后面的测试才能做得准。

可可精品资料库