6
为什么我的千兆绑定不能提供至少150 MB / s的吞吐量?
我直接在两个不同的PCIe适配器上连接了两个PowerEdge 6950分频器(使用直线)。 我在每条线路上都有一个千兆链路(1000 MBit,全双工,双向流量控制)。 现在,我正在尝试使用双方的rr算法将这些接口绑定为bond0(我想为单个IP会话获取2000 MBit)。 当我通过使用dd bs = 1M和netcat在tcp模式下将/ dev / zero传输到/ dev / null来测试吞吐量时,我得到的吞吐量为70 MB / s,而不是预期的150MB / s以上。 当我使用单条线时,如果每条线使用不同的方向,则每条线的速度约为98 MB / s。如果流量进入“相同”方向,则使用单条线路时,线路速度分别为70 MB / s和90 MB / s。 仔细阅读bonding-readme(/usr/src/linux/Documentation/networking/bonding.txt)之后,我发现以下部分很有用:(13.1.1单交换机拓扑的MT Bonding模式选择) balance-rr:此模式是唯一允许单个TCP / IP连接在多个接口上对流量进行条带化的模式。因此,它是唯一一种允许单个TCP / IP流利用一个接口的吞吐量以上的模式。但是,这样做需要付出一定的代价:条带化通常会导致对等系统接收到乱序的数据包,从而经常通过重新传输段来使TCP / IP的拥塞控制系统进入。 It is possible to adjust TCP/IP's congestion limits by altering …