NIC绑定不能超过1 Gbps

我有4端口英特尔82571EB千兆位适配器。 它使用e1000e驱动程序。 testing机器运行Ubuntu 9.10,客户端9.10 / 10.04。 我尝试了链路聚合(模式4)和自适应负载均衡(模式6)。 设置如下:

服务器== 4端口NIC == 4 cat6电缆== Linksys SRW2024交换机== 4个或更多的客户端。

我正在用iperf和TCP进行testing。 对于模式4,我在交换机中设置了一个LAG。 对于模式6 – 没有。 我的testing是:

4个或更多的客户端,所有这些都有1 Gbps的连接是iperf客户端。 他们同时运行。 服务器已经听这些连接(我有iperf -s在那里运行)。 结果与服务器仅运行1 Gbps而不是4 Gbps相结合。 如果我使用一个客户端,我会得到1 Gbps。 如果我有4或8个客户端,每个客户端的带宽降到250或125 Mbps(这些数字仅用于说明目的)。

为什么我无法获得4 Gbps的服务器出入? 我如何解决它?

端口汇聚组中的链路负载均衡不是严格按照每帧进行的。 交换机和服务器都使用一种将源MAC地址,目的MAC地址,源和/或目的地TCP或UDP端口等的组合考虑在内的方法,以防止对于单个会话无序的分组传送。

如果您在不同的侦听端口上运行多个iperf会话,而每个客户端连接到不同的会话,则可能会发现您会看到您期望的性能…取决于正在使用的负载平衡方法。

我记得有一段关于bonding的地方,它不能线性扩展,所以对于4x 1Gbps的网卡,你应该可以看到大约2.5-2.8 Gbps的数据。 如果我find源,我会更新我的答案。