吞吐测试基础:从定义到核心指标

吞吐测试,说白了就是测网络设备能「扛多少活」。我刚开始接触这行时,总觉得吞吐量是个很虚的概念——不就是看带宽吗?后来被现实狠狠教育了一顿,才发现这里面的门道深着呢。

咱们先把这个概念掰扯清楚。

吞吐量到底是个啥?

吞吐量(Throughput),指的是单位时间内成功传输的数据量。注意「成功」这两个字——重传的、丢了的、出错的,统统不算。我见过不少新手把接口速率和吞吐量画等号,其实差远了。

举个例子:你家里办了 100M 宽带,但实际下载文件只有 80Mbps。那 80Mbps 就是吞吐量,100Mbps 只是理论上限。中间那 20Mbps 去哪了?协议开销、线路损耗、设备处理能力,都是坑。

核心公式:

吞吐量 = 成功传输的数据量 ÷ 传输时间

单位:bps(比特每秒)、pps(包每秒)、cps(连接每秒)

为什么要做吞吐测试?

我个人习惯,拿到一台新设备,第一件事就是跑吞吐。原因很简单——

  • 验证标称性能:厂商说能跑 10Gbps,实际能不能?我踩过坑,某品牌防火墙标称 40Gbps,实际小包只有 5Gbps,差点被甲方骂死。
  • 发现瓶颈:到底是 CPU 扛不住,还是交换芯片到顶了?吞吐测试能帮你定位。
  • 做容量规划:现网流量 2Gbps,设备峰值能到 5Gbps 才安全。低于这个数,扩容就得提上日程。
  • 验收交付:项目上线前,吞吐测试是硬指标。过不了,签字?门都没有。

我的经验:吞吐测试别只看最大值。我习惯跑 30 分钟以上的持续压力,看看有没有性能衰减。有些设备前 5 分钟生龙活虎,后面直接拉胯——散热问题,遇到过不止一次。

三大核心指标:bps、pps、并发连接数

这三个指标,你想想看,其实对应的是不同维度的压力。我分别说说。

1. bps——比特率,最直观的带宽指标

bps(bits per second)就是每秒传输多少比特。我们常说的 1Gbps、10Gbps、100Gbps,指的都是这个。

但这里有个坑:大包和小包在 bps 下的表现完全不同。同样跑满 1Gbps,用 1518 字节的大包,每秒只需要约 81,000 个包;换成 64 字节的小包,每秒要处理近 1,488,000 个包。设备压力天差地别。

包大小(字节) 1Gbps 线速下的 pps 设备压力等级
64 1,488,095 极高
512 234,962 中等
1518 81,274 较低

所以只看 bps 是不够的。我见过有人拿大包跑出漂亮数据,结果上线后小包一多,设备直接跪了。嗯,这里要注意——测试一定要覆盖多种包长。

2. pps——包转发率,路由交换设备的命门

pps(packets per second)才是衡量设备「处理能力」的核心指标。为什么?因为每个包都要经过查表、转发、封装,这些操作跟包大小关系不大,跟包数量直接挂钩。

我曾经帮一个客户排查问题:核心交换机跑视频监控,带宽只用了 30%,但 CPU 已经 90% 了。一查,全是 64 字节的小包——摄像头的心跳包、控制信令。带宽没满,但 pps 爆了。这就是典型的「bps 看着正常,pps 已经到顶」。

避坑指南:我曾经在测试报告中只写了 bps 数据,被甲方质疑「你们测的是不是假的?」后来学乖了——bps 和 pps 必须同时给出,缺一不可。尤其是小包场景,pps 才是硬指标。

3. 并发连接数——防火墙和负载均衡的硬仗

并发连接数(Concurrent Connections),指的是设备同时维持的 TCP/UDP 会话数量。这个指标对防火墙、负载均衡器、NAT 网关来说,比 bps 和 pps 都重要。

你想想看:一个 Web 服务器,每秒新建 10 万个连接,每个连接存活 30 秒,那并发就是 300 万。设备能不能扛住?连接表会不会爆?内存够不够?

我遇到过最惨的一次:某防火墙并发连接数标称 500 万,实际跑到 200 万就开始丢包。查了半天,是连接表老化机制有问题——旧连接不释放,新连接进不来。后来换了固件版本才解决。

设备类型 关键指标 典型压力场景
路由器 pps 小包转发、路由查表
交换机 bps + pps 线速转发、大流量汇聚
防火墙 并发连接数 + pps 大量短连接、NAT 转换
负载均衡 并发连接数 + cps 新建连接速率、会话保持

三个指标的关系,一张图说清楚

我画了张图,把 bps、pps、并发连接数的关系串起来。你看一眼就明白了。

吞吐测试三大核心指标关系图 网络设备 bps 比特率 / 带宽 pps 包转发率 并发连接数 会话数量 典型场景对应 路由器/交换机 → 关注 pps | 防火墙 → 关注并发连接数 | 所有设备 → 关注 bps 测试建议:三种指标必须组合测试,单一指标无法反映真实性能 例如:1Gbps 线速 + 64 字节小包 + 100 万并发连接 → 真正的极限压力

测试时要注意什么?

最后说几个实操中的坑,都是我拿真金白银换来的教训。

  • 别只测单向:很多设备双向吞吐会打折。我测过一台交换机,单向 10Gbps 没问题,双向各 10Gbps 直接掉到 14Gbps。为什么?内部总线带宽不够。
  • 关注帧间隙:标准以太网帧间隙是 96 bit time。有些测试工具默认不遵守,测出来的数据虚高。你想想看,少了帧间隙,带宽利用率当然好看,但现网不是这样的。
  • 控制变量:测 bps 时固定包长,测 pps 时固定带宽,测并发时固定新建速率。混在一起测,出了问题你都不知道是哪里的锅。
  • 记录基线:我每次测试都会保存一份基线数据。下次再测,对比一下,性能有没有下降一目了然。设备用久了,吞吐量会掉——电容老化、散热变差,都是原因。

一个小技巧:测试前先跑一遍空载,看看测试仪和线缆有没有问题。我遇到过测试仪端口故障,测出来的数据只有正常的一半,折腾了两天才发现是硬件坏了。先验证工具,再验证设备——这个顺序别搞反了。