为什么在两个1Gbps适配器上使用绑定时,iperf仍然报告1Gbps的性能?

据我所知,绑定带来的其他好处之一是能够提高LAN中两台机器之间的networking速度。

绑定意味着将多个networking接口(NIC)组合到单个链路,从而提供高可用性,负载平衡, 最大吞吐量或其组合。

来源: Ubuntu文档 ,重点介绍我的。

我在两台服务器上configuration了绑定。 都有两个1Gbps的网卡适配器。 当使用iperf在这些服务器之间testing速度时,报告显示:

  • 在使用balance-rr绑定模式时为930到945 Mbits / sec。
  • 当使用802.3ad ,从机器A到802.3ad802.3ad
  • 当使用802.3ad时,从机器B到A为930到945 Mbits / sec。

一个有趣的事情是,当使用802.3adifconfig表明实际上所有的RX都在eth0 (2.5 GB与几KB / MB),而机器A上的eth1上的所有TX以及机器B上的相反。

当要求iperf使用多个连接( iperf -c 192.168.1.2 -P 10 )时,获得的和与使用单个连接时显示的结果非常接近。

两台机器连接到正确configurationLACP的Netgear GS728TS(我希望),两个LAG分别覆盖两个端口。 IEEE 802.3x模式已启用。

iperf是否适合这种testing? 如果是,有什么我失踪?

绑定接口不会为单个networkingstream授予额外的带宽。 所以如果你只运行iperf的一个副本,那么你一次只能使用一个networking接口。 如果你有两块网卡,那么你至less需要在计算机上运行两个完全独立的iperf副本才能看到同时使用的情况。 这也适用于实际负载 – 例如,Samba客户端仍然只能看到1Gb吞吐量,但如果您的lagg有两个NIC,则两个客户端都可以看到1Gb。 这一切都假定你有laggconfiguration使用两个网卡(802.3ad选项将这样做)。

在联系Netgear支持后,看起来:

如果使用2个站点(1个客户端/ 1个服务器),实际上只使用一个链接(因此是1Gbps / 940mbps),所使用的链接由LACP哈希algorithm决定。

要超过1Gbps的限制,您将需要testing更多的1客户端。

来源:Netgear支持票据回应

同样的门票反应链接到美国网件的公共论坛post ,我们可以读到:

当LACP哈希algorithm将多个业务stream放在不同的path上时,只能获得2Gbps的聚合,并不总是如此。 有less量的客户端(在你的情况2),很可能他们都可能被哈希到相同的链接。

对于那些不想阅读整个论坛讨论的人来说,关键是:

  • 至less应该有两个客户端连接到服务器才能从LACP中受益。 单个客户端将只使用一个链接,这将限制其速度为1 Gbps。

  • 两个客户应该使用不同的链接从LACP受益。

  • 如果服务器上只有两个networking适配器,则有50%的机会从两个客户端获得相同的链接,这将导致总速度达到1 Gbps。 三个networking适配器的机会下降到33%,4至25%。

总而言之,Netgear GS728TS无法在两台机器之间获得1.4至1.8 Gbps的速度。