Я работаю с драйвером связывания в Linux (Ubuntu 12.04.2 LTS).
У меня есть 2 ПК с 2 сетевыми адаптерами (гигабитный Ethernet - Intel 82574L) в каждом (всего 4 сетевых адаптера). Я хочу улучшить свою пропускную способность TCP в гигабитной сети с помощью связывания, но моя проблема в том, что я не могу достичь гигабитных скоростей, используя связывание.
Мой гигабитный интерфейс может достигать 370 - 375 Мбит / с с использованием одного гигабитного интерфейса (без использования связывания). Когда я включаю связывание, используя, например, режим 0 (balance-rr), я могу достичь 760–772 Мбит / с (используя iperf).
Когда я хочу передать данные с одного ПК на другой (используя режим соединения balance-rr), я могу просто достичь 472 Мбит / с (59 МБ / с). Для передачи данных я использую scp
.
Мои вопросы:
Можете ли вы посоветовать, как настроить 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
Один поток может быть получен только по одной ссылке. Таким образом, хотя ваши ссылки могут быть связаны, а пакеты разделяться циклически на выходе, они все равно принимаются только одной ссылкой на другой стороне.