在大家日常工作中,经常会遇到一些关于吞吐量指标对比的场景,尤其是在对比验证不同测试仪表的吞吐量结果时,大相径庭。
下面给大家详细介绍一下目前主流的 IP 网络测试的仪表吞吐量具体值的详解。
本文详细介绍目前主流的四款款测试仪表软件,包括 Ixia 的 IxLoad、Spirent 的 TestCenter Application 和 TestCenter Layer 4-7 Application。

测试对比基准
我们选择 http 协议作为基准测试协议,采用仪表默认配置 (不同仪表默认的 http 参数不同,所以本文中的吞吐量均为单独计算,整体具备可参考价值),其中 server response 页面大小 1byte,CPS(connection per second)为 10,000/s。

吞吐量的计算方式有很多种,为了统一描述,声明如下:

  1. L1 rate: 基于 line rate 方式统计,包含报文本身字节大小以及 L2 的帧头和帧间隙大小, 举例:千兆以太网 64 字节单向线速如下 1488095×(64+20) bytes×8 = 999,999,840bps = 1000Mbps
  2. L2/L3 data rate:区别 L1 方式的方法为去掉帧头 (8) 和帧间隙 (12) 大小的 20Bytes。 举例:千兆以太网 64 字节单向线速如下 1488095×64bytes×8 = 761,904,640bps = 761.9Mbps
  3. L7 data rate:仅考虑 L7 头部字段和 payload,Spirent 称为 goodput 或者通常理解的 application data rate。

Ixia IxLoad
下图是仪表的欢迎界面:

根据第一章的介绍,我们采用标准配置测试,结果截图如下,此时 CPS 为 10,000:

下图对应的吞吐量约为 18.072Mbps:

下面是此次测试的 pcap,此截图为 get:

下面的截图是 response:

根据上图显示的 Len 计算 application data rate(GoodPut) 为: (40+186)×10000×8=18.080Mbps
根据读图的结果 18.72Mbps 对比如上计算结果一致,Ixia IxLoad 的 HTTP 页签中统计的吞吐量值为 application data rate(GoodPut)。

同时,IxLoad 也提供了 L2/3 的吞吐量,见下图:

上图中大约为 58.1Mbps,下面是测试的 pcap:

我们来计算一下:
Ethernet/Network data rate:(70+70+106+252+66+66+66+7×4)×10000×8=57.92Mbps(同仪表图中统计一致)。
小结:Ixia IxLoad 软件提供了 L2/L3 和 L7(application data rate/goodput) 两种吞吐量显示方式供参考。

Spirent TestCenter Layer 4-7 Application(Avalanche)

测试 10,000 HTTP CPS:



上图的测试结果为 L2/L3 吞吐量,大约 53Mbps,下面我们看一下 goodput 统计图表:

接下来我们看一下 pcap:


我们来计算一下:
Ethernet/Network data rate:(60+60+60+167+231+90+6×4)×10000×8= 52.96Mbps
traffic 截图中实际统计到的吞吐量约为 53Mbps,确认测试结果一致。
goodput data rate: (113+177)×10000×8=23.2Mbps
goodput 截图中实际统计到的为 14.18+9.045=23.225Mbps,确认结果一致。

小结:Spirent Avalanche 软件提供了 L2/L3 和 L7(application data rate/goodput) 两种吞吐量显示方式供参考,默认为 L2/L3 方式,goodput 需要单独配置才能看到。

Spirent TestCenter Application


根据上图仪表千兆接口自环测试结果,以 64bytes 为例说明:
L1 rate:1488095×2×(64+20) bytes×8 = 999,999,840bps = 1000×2Mbps
L2/L3 data rate:1488095×2×64bytes×8 = 761,904,640bps = 761.9×2Mbps


↙↙↙阅读原文可查看相关链接,并与作者交流