吞吐测试基础:从定义到核心指标
吞吐测试,说白了就是测网络设备能「扛多少活」。我刚开始接触这行时,总觉得吞吐量是个很虚的概念——不就是看带宽吗?后来被现实狠狠教育了一顿,才发现这里面的门道深着呢。
咱们先把这个概念掰扯清楚。
吞吐量到底是个啥?
吞吐量(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、并发连接数的关系串起来。你看一眼就明白了。
测试时要注意什么?
最后说几个实操中的坑,都是我拿真金白银换来的教训。
- 别只测单向:很多设备双向吞吐会打折。我测过一台交换机,单向 10Gbps 没问题,双向各 10Gbps 直接掉到 14Gbps。为什么?内部总线带宽不够。
- 关注帧间隙:标准以太网帧间隙是 96 bit time。有些测试工具默认不遵守,测出来的数据虚高。你想想看,少了帧间隙,带宽利用率当然好看,但现网不是这样的。
- 控制变量:测 bps 时固定包长,测 pps 时固定带宽,测并发时固定新建速率。混在一起测,出了问题你都不知道是哪里的锅。
- 记录基线:我每次测试都会保存一份基线数据。下次再测,对比一下,性能有没有下降一目了然。设备用久了,吞吐量会掉——电容老化、散热变差,都是原因。
一个小技巧:测试前先跑一遍空载,看看测试仪和线缆有没有问题。我遇到过测试仪端口故障,测出来的数据只有正常的一半,折腾了两天才发现是硬件坏了。先验证工具,再验证设备——这个顺序别搞反了。