iperf在千兆位以太网控制器上的TCP带宽为24 Gbps的含义

问题描述:

我使用的是Ubuntu并具有JMC250 PCI Express千兆位以太网控制器。iperf在千兆位以太网控制器上的TCP带宽为24 Gbps的含义

我在本地主机上使用了带TCP的iperf,它给了我24.2 Gbps的带宽。这个带宽的含义是什么?我在本地主机上做了这个测试,假设它会出现在某种程度上接近硬件限制,但是它会超过它。

iperf的输出:

------------------------------------------------------------ 
Server listening on TCP port 5001 
TCP window size: 85.3 KByte (default) 
------------------------------------------------------------ 
[ 4] local 127.0.1.1 port 5001 connected with 127.0.0.1 port 41954 
[ ID] Interval  Transfer  Bandwidth 
[ 4] 0.0-10.0 sec 28.2 GBytes 24.2 Gbits/sec 
+0

“1000Gbps”是一个错字。 JMC250是千兆适配器。 –

+0

哦!我的错。那么它的最高速度是1Gbps,对吧? iperf如何显示我24.2 Gbps? 我会编辑问题。 – AzureMinotaur

+2

是的,该适配器(兼容网络上)的最大带宽为1 Gbps。你会说你正在测试绕过适配器硬件的localhost loopback。该值为24 Gbps,可能反映了您的内存带宽。 –

数据给本地主机永远不会离开你的机器上的TCP/IP协议栈。它被发送到回送适配器。 loopback adapter是一个虚拟适配器 - 发送它的任何流量都会立即发送给堆栈内的调用者。你的网卡从来没有看到它。

目前还不清楚24.2 Gbps值是多么的真实 - 当您使用足够小的数据集进行测试时,您会看到疯狂的值。如果它是真实的,它可能反映出你机器的内存带宽。

如果要测试物理网络适配器或其所连接的网络的性能,则需要在适配器设置为处理的路由上与网络上的主机进行交互。如果您只有一个活动的物理适配器,则表示网络上的任何其他主机。

+0

谢谢。 iperf表示它转移了28.2GBytes,而且我知道我的内存带宽是〜4GBps,所以你的解释听起来是正确的。 – AzureMinotaur

+0

没问题。你可能打算说28.2Gbits,而不是Gbytes,这会使数学运算出来。 –

+0

我不确定数学,但iperf说GB,而不是GB。我编辑的问题包括输出,我无法在评论中格式化它。 – AzureMinotaur