我正在使用Linux上的bonding驱动程序(Ubuntu 12.04.2 LTS)。
我有两台电脑,每台有两块网卡(千兆以太网 – 英特尔82574L)(总共4块网卡)。 我想通过使用绑定来改善我的TCP吞吐量,但是我的问题是我无法使用绑定实现千兆速度。
我的吉比特接口可以达到370 – 375 Mbps使用一个千兆接口(不使用绑定)。 当我打开我的绑定,使用模式0(balance-rr),例如,我可以达到760 – 772 Mbps(使用iperf)。
当我想将数据从一台PC传输到另一台时(使用绑定模式balance-rr),我可以达到472 Mbps(59 MB / s)。 为了传输数据,我使用scp 。
我的问题是:
你能build议如何调整Ubuntu实现千兆速度?
我的sysctl.conf:
# cat sysctl.conf | grep -v ^# | tr -s '\n' net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
# ethtool -k eth1 Offload parameters for eth1: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: off
# ethtool -k eth2 Offload parameters for eth2: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: off
# ethtool -g eth1 Ring parameters for eth1: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256
# ethtool -g eth2 Ring parameters for eth2: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256
一个stream只能在一个链接上接收。 所以虽然你的链路可能被绑定,并且数据包在path上以循环方式分裂,但是它们仍然只被另一端的单个链路接收。