Скорость объединенных сетевых интерфейсов (скорость не поднимается больше 990Мбит)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
McSim
Сообщения: 419
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Скорость объединенных сетевых интерфейсов

Сообщение McSim »

Доброго времени, камрады!
Борюсь со скоростью сетевых интерфейсов, объедененных бондингом в режиме 802.3ad на Debian 6.0.2. Конфиг сети следующийи:

Код: Выделить всё

FILES ~ # cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
        address 10.0.0.2
        netmask 255.255.0.0
        gateway 10.0.0.254
        bond-slaves eth2 eth3
        bond-mode 802.3ad
       bond-miimon 100
        bond-downdelay 200
        bond-updelay 200
        mtu 4053
FILES ~ # ifconfig
bond0     Link encap:Ethernet  HWaddr 00:07:e9:40:f1:8e
          inet addr:10.0.0.2  Bcast:10.0.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:4053 Metric:1
          RX packets:580811 errors:0 dropped:0 overruns:0 frame:0
          TX packets:383994 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1403975958 (1.3 GiB)  TX bytes:624541548 (595.6 MiB)

eth2      Link encap:Ethernet  HWaddr 00:07:e9:40:f1:8e
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:4053  Metric:1
          RX packets:577259 errors:0 dropped:0 overruns:0 frame:0
          TX packets:383761 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1402157916 (1.3 GiB)  TX bytes:624506164 (595.5 MiB)

eth3      Link encap:Ethernet  HWaddr 00:07:e9:40:f1:8e
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:4053  Metric:1
          RX packets:3552 errors:0 dropped:0 overruns:0 frame:0
          TX packets:233 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1818042 (1.7 MiB)  TX bytes:35384 (34.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3649 (3.5 KiB)  TX bytes:3649 (3.5 KiB)
FILES ~ # cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 2
        Number of ports: 2
        Actor Key: 17
        Partner Key: 4
        Partner Mac Address: 00:0f:cb:9a:ac:43

Slave Interface: eth2
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:07:e9:40:f1:8e
Aggregator ID: 2

Slave Interface: eth3
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:07:e9:40:f1:8f
Aggregator ID: 2
FILES ~ # ethtool eth2
Settings for eth2:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes
FILES ~ # ethtool eth3
Settings for eth3:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes
FILES ~ # ethtool -i eth3
driver: e1000
version: 7.3.21-k5-NAPI
firmware-version: N/A
bus-info: 0000:04:05.1
FILES ~ # ethtool -i eth2
driver: e1000
version: 7.3.21-k5-NAPI
firmware-version: N/A
bus-info: 0000:04:05.0

Такой mtu был добыт опытным путем:

Код: Выделить всё

C:\Users\mc-sim\Desktop\iperf\jperf-2.0.0\jperf-2.0.0\bin>ping 10.0.0.2 -f -l 4046

Обмен пакетами с 10.0.0.2 по с 4046 байтами данных:
Ответ от 10.0.0.2: число байт=4046 время<1мс TTL=64
Ответ от 10.0.0.2: число байт=4046 время<1мс TTL=64

Статистика Ping для 10.0.0.2:
    Пакетов: отправлено = 2, получено = 2, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
Control-C
^C
C:\Users\mc-sim\Desktop\iperf\jperf-2.0.0\jperf-2.0.0\bin>ping 10.0.0.2 -f -l 4047

Обмен пакетами с 10.0.0.2 по с 4047 байтами данных:
Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.

Статистика Ping для 10.0.0.2:
    Пакетов: отправлено = 2, получено = 0, потеряно = 2
    (100% потерь)

на другой стороне HP ProLiant DL 180 с 4Мя Гбитными сетевушками в TEAM и ОС Win 2k8 R2:

Если сервер HP, а клиент - Debian, то iperf показывает:

Код: Выделить всё

C:\Users\mc-sim\Desktop\iperf\jperf-2.0.0\jperf-2.0.0\bin>iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[444] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53778
[468] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53779
[476] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53780
[488] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53781
[512] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53783
[496] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53782
[520] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53784
[536] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53785
[544] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53786
[552] local 10.0.0.3 port 5001 connected with 10.0.0.2 port 53787
.....
[ ID] Interval       Transfer     Bandwidth
[468]  0.0-18.5 sec   215 MBytes  97.5 Mbits/sec
[536]  0.0-18.5 sec   216 MBytes  97.6 Mbits/sec
[552]  0.0-18.5 sec   216 MBytes  97.5 Mbits/sec
[496]  0.0-18.6 sec   218 MBytes  98.4 Mbits/sec
[444]  0.0-18.6 sec   216 MBytes  97.5 Mbits/sec
[476]  0.0-18.6 sec   216 MBytes  97.6 Mbits/sec
[488]  0.0-18.6 sec   215 MBytes  96.9 Mbits/sec
[544]  0.0-18.6 sec   216 MBytes  97.7 Mbits/sec
[SUM]  0.0-18.6 sec  2.11 GBytes   975 Mbits/sec
........

Код: Выделить всё

FILES ~ # iperf -c 10.0.0.3 -t100 -i1 -P 10
------------------------------------------------------------
Client connecting to 10.0.0.3, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 10] local 10.0.0.2 port 53817 connected with 10.0.0.3 port 5001
[  5] local 10.0.0.2 port 53812 connected with 10.0.0.3 port 5001
[  6] local 10.0.0.2 port 53813 connected with 10.0.0.3 port 5001
[  3] local 10.0.0.2 port 53810 connected with 10.0.0.3 port 5001
[  7] local 10.0.0.2 port 53814 connected with 10.0.0.3 port 5001
[  4] local 10.0.0.2 port 53811 connected with 10.0.0.3 port 5001
[  8] local 10.0.0.2 port 53815 connected with 10.0.0.3 port 5001
[  9] local 10.0.0.2 port 53816 connected with 10.0.0.3 port 5001
[ 12] local 10.0.0.2 port 53819 connected with 10.0.0.3 port 5001
[ 11] local 10.0.0.2 port 53818 connected with 10.0.0.3 port 5001
[ ID] Interval       Transfer     Bandwidth
[ 11] 17.0-18.0 sec  11.7 MBytes  98.3 Mbits/sec
[  4] 17.0-18.0 sec  11.7 MBytes  97.8 Mbits/sec
[  3] 17.0-18.0 sec  11.7 MBytes  97.8 Mbits/sec
[  8] 17.0-18.0 sec  11.6 MBytes  97.1 Mbits/sec
[  5] 17.0-18.0 sec  11.5 MBytes  96.8 Mbits/sec
[  6] 17.0-18.0 sec  11.6 MBytes  97.3 Mbits/sec
[ 10] 17.0-18.0 sec  11.7 MBytes  98.3 Mbits/sec
[  7] 17.0-18.0 sec  11.8 MBytes  98.6 Mbits/sec
[ 12] 17.0-18.0 sec  11.4 MBytes  95.6 Mbits/sec
[  9] 17.0-18.0 sec  11.8 MBytes  98.8 Mbits/sec
[SUM] 17.0-18.0 sec    116 MBytes    976 Mbits/sec

суммарная скорость не превышает 1 Gbit. :(
Если в обратную сторону, то и того хуже:

Код: Выделить всё

C:\Users\mc-sim\Desktop\iperf\jperf-2.0.0\jperf-2.0.0\bin>iperf -c 10.0.0.2 -t10
0 -i 1
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[184] local 10.0.0.3 port 55242 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[184]  0.0- 1.0 sec  46.3 MBytes   388 Mbits/sec
[184]  1.0- 2.0 sec  46.5 MBytes   390 Mbits/sec
[184]  2.0- 3.0 sec  46.5 MBytes   390 Mbits/sec
[184]  3.0- 4.0 sec  46.5 MBytes   390 Mbits/sec
[184]  4.0- 5.0 sec  46.2 MBytes   388 Mbits/sec
[184]  0.0- 5.6 sec   261 MBytes   389 Mbits/sec

C:\Users\mc-sim\Desktop\iperf\jperf-2.0.0\jperf-2.0.0\bin>iperf -c 10.0.0.2 -t10
0 -i 1 -P 10
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[256] local 10.0.0.3 port 55241 connected with 10.0.0.2 port 5001
[248] local 10.0.0.3 port 55240 connected with 10.0.0.2 port 5001
[240] local 10.0.0.3 port 55239 connected with 10.0.0.2 port 5001
[232] local 10.0.0.3 port 55238 connected with 10.0.0.2 port 5001
[224] local 10.0.0.3 port 55237 connected with 10.0.0.2 port 5001
[216] local 10.0.0.3 port 55236 connected with 10.0.0.2 port 5001
[208] local 10.0.0.3 port 55235 connected with 10.0.0.2 port 5001
[200] local 10.0.0.3 port 55234 connected with 10.0.0.2 port 5001
[192] local 10.0.0.3 port 55233 connected with 10.0.0.2 port 5001
[184] local 10.0.0.3 port 55232 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[184]  0.0- 1.0 sec  10.1 MBytes  85.0 Mbits/sec
[216]  0.0- 1.0 sec  15.1 MBytes   127 Mbits/sec
[224]  0.0- 1.0 sec  11.6 MBytes  97.5 Mbits/sec
[248]  0.0- 1.0 sec  10.2 MBytes  85.3 Mbits/sec
[240]  0.0- 1.0 sec  9.98 MBytes  83.8 Mbits/sec
[200]  0.0- 1.0 sec  12.0 MBytes   101 Mbits/sec
[192]  0.0- 1.0 sec  15.7 MBytes   132 Mbits/sec
[256]  0.0- 1.0 sec  11.7 MBytes  98.0 Mbits/sec
[232]  0.0- 1.0 sec  8.96 MBytes  75.2 Mbits/sec
[208]  0.0- 1.0 sec  10.9 MBytes  91.7 Mbits/sec
[SUM]  0.0- 1.0 sec   116 MBytes   975 Mbits/sec

Код: Выделить всё

FILES ~ # iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 14] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55232
[  4] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55233
[  5] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55234
[  6] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55235
[  7] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55236
[  8] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55237
[  9] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55238
[ 10] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55239
[ 11] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55240
[ 12] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55241
[ 14]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[ 14]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[ 14]  0.0- 2.7 sec  29.9 MBytes  92.4 Mbits/sec
[  4]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  0.0- 2.7 sec  35.3 MBytes    109 Mbits/sec
[  7]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  7]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  7]  0.0- 2.7 sec  37.8 MBytes    117 Mbits/sec
[  8]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  8]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  8]  0.0- 2.7 sec  34.5 MBytes    107 Mbits/sec
[  9]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  9]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  9]  0.0- 2.7 sec  30.4 MBytes  94.0 Mbits/sec
[SUM]  0.0- 2.7 sec    168 MBytes    519 Mbits/sec
[ 10]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[ 10]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[ 10]  0.0- 2.7 sec  26.2 MBytes  81.1 Mbits/sec
[ 11]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[ 11]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[ 11]  0.0- 2.7 sec  31.2 MBytes  96.4 Mbits/sec
[ 12]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[ 12]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[ 12]  0.0- 2.7 sec  32.3 MBytes  99.9 Mbits/sec
[  6]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  6]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  6]  0.0- 2.9 sec  21.8 MBytes  63.4 Mbits/sec
[  5]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  5]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[SUM]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  5]  0.0- 2.9 sec  34.4 MBytes  98.5 Mbits/sec
[SUM]  0.0- 2.9 sec    146 MBytes    418 Mbits/sec
[ 13] local 10.0.0.2 port 5001 connected with 10.0.0.3 port 55242
[ 13]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[ 13]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[ 13]  2.0- 3.0 sec  0.00 Bytes  0.00 bits/sec
[ 13]  3.0- 4.0 sec  0.00 Bytes  0.00 bits/sec
[ 13]  4.0- 5.0 sec  0.00 Bytes  0.00 bits/sec
[ 13]  0.0- 5.6 sec    261 MBytes    390 Mbits/sec

В один поток скорость не привышает 400Мбит, а в 10 - опять же упирается в 1Гбит.

Посередине стоит 3COM3870 с включенным LACP и Jumbo Frames Control.

Подскажите, как заставить работать объединение интерфейсов быстрей?
Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скорость объединенных сетевых интерфейсов

Сообщение Ленивая Бестолочь »

если мне не изменяет шизофрения, то 802.3ad повышает не скорость, а пропускную способность.
для того, чтобы увидеть цыфры более 1гбпс придётся брать другие типы бондинга. если конечно же оно вам надо.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
McSim
Сообщения: 419
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Re: Скорость объединенных сетевых интерфейсов

Сообщение McSim »

Ленивая Бестолочь писал(а): ↑
08.10.2011 03:55
если мне не изменяет шизофрения, то 802.3ad повышает не скорость, а пропускную способность.
для того, чтобы увидеть цыфры более 1гбпс придётся брать другие типы бондинга. если конечно же оно вам надо.
А скорость - это не показатель пропускной способности? :)
А я из документации наоборот понял, что большинство видов бондинга обеспечивают в большинстве своем резервирование (отказоустойчивость) каналов, причем все, в один момент используют только один primari интерфейс. А все slave ждут своего часа, когда умрет primary. В разных комбинациях данного принципа. При этом некоторые ускоряют работу только на исходящий трафик.
802.3ad же способен расширить канал до такого размера, сколько воткнешь сетевых карт и на сколько шина PCI позволяет, но не более 8 Гбпс. При этом, как входящий (за счет немного умного свича), так и исходящий (за счет, собственно, модуля бондинга).
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скорость объединенных сетевых интерфейсов

Сообщение Ленивая Бестолочь »

про пропускную способность я подумаю. счас ум уже за разум заходит.
на счёт слейва. ну блин, типов бондинга там выше крыши в линуксе этом :)
если брать тот, который с бОльшим номером (balance-alb) - прирост скорости сразу будет. только нужно 2 свича. зато 2 _любых_ свича.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Скорость объединенных сетевых интерфейсов

Сообщение KiWi »

А скорость - это не показатель пропускной способности?

Скорость передачи данных в один поток между 2 серверами -- не такой уж и показатель.
На английской wiki очень хорошо описаны причины такого поведения: http://en.wikipedia.org/wiki/Link_aggregat...Order_of_frames

С политикой отправки в Linux-бондинге можно поиграться через параметр ядра xmit_hash_policy(подробности есть в modinfo bonding).
На политику приёма никто кроме отправителя повлиять не сможет. Соответственно, про политику отправки из-за под Windows придётся поискать самостоятельно(если, конечно, оно вообще умеет выбирать интерфейс, исходя из L3, а не L2).
Спасибо сказали: