Новые и старые пользователи Carbon Reductor часто просят дать рекомендацию по подбору оборудования, причём довольно таки конкретную.
Увы, тестированием большого количества разного железа в рамках компании мы заняться не можем, но хотя бы попробуем составить список уже используемого оборудования, которое ни разу не напрягало после соответствующих настроек.
{toc}
h1. Сетевые карты
Многие сетевые карты не могут до конца закрыть свой потенциал из коробки и часто приходится их немного тюнить. Не стоит считать что если вы засунули классную и дорогую 10гбит/с карту в сервер, то потерь точно не будет.
Однако после грамотной настройки на многих сетевых картах можно добиться очень высокой производительности.
h2. Melanox
Все модели этого производителя очень хорошо зарекомендовали себя для работы в системе фильтрации.
h3. Mellanox Technologies MT27520 Family \[ConnectX-3 Pro\]
Одна из лучших сетевых карт, с которыми доводилось иметь дело.
Имеет несколько очередей и большой rx-буфер.
{code}
[root@carbon2 carbon]# ethtool -l eth2
Channel parameters for eth2:
Pre-set maximums:
RX: 128
TX: 32
Other: 0
Combined: 0
Current hardware settings:
RX: 8
TX: 12
Other: 0
Combined: 0
{code}
Но есть небольшая особенность, доставляющая небольшие неудобства в системах с 6 ядрами на процессор: не удаётся задать число RX-очередей не кратное степени двойки. При задании, к примеру 6, работают только 4 очереди, а две не получают прерывания. На 4, 8 и 16 ядерных процессорах всё идеально.
h2. Broadcom / Emulex
h3. NetXtreme BCM5720
h3. Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02) / Emulex Corporation Device e729
Максимальный RX-буфер: 1024
По умолчанию имеет 4 очереди.
{code}
[root@carbon ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 3
[root@carbon ~]# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
{code}
Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:
{code}
echo options be2net rx_frag_size=4096 > /etc/modprobe.d/be2net.conf
reboot
{code}
h2. Intel
Хоть они и хороши, если возникнут проблемы - [есть статья|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799130].
h3. I210
Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03), Subsystem: Super Micro Computer Inc Device 1533
Максимальный RX-буфер: 4096
По умолчанию 4 rxtx очереди на 4 ядрах
*Внимание*: Иногда имеет проблемы при работе на дефолтном модуле ядра. В одном случае с 2xVlan в зеркале это удалось победить [установкой последней версии драйвера, собранного с опцией IGB_NO_LRO.|reductor5:Сборка драйвера IGB без LRO]
h3. I211
Ethernet controller: Intel Corporation I211 Gigabit Network Connection
h3. I350
h3. 82576
h3. 82599ES
Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP\+ Network Connection (rev 01)
Максимальный RX-буфер: 4096
По умолчанию 4 rxtx очереди на 4 ядрах
2 порта под SFP
h3. 82599EB
h3. 82599EN
1 порт под SFP
Увы, тестированием большого количества разного железа в рамках компании мы заняться не можем, но хотя бы попробуем составить список уже используемого оборудования, которое ни разу не напрягало после соответствующих настроек.
{toc}
h1. Сетевые карты
Многие сетевые карты не могут до конца закрыть свой потенциал из коробки и часто приходится их немного тюнить. Не стоит считать что если вы засунули классную и дорогую 10гбит/с карту в сервер, то потерь точно не будет.
Однако после грамотной настройки на многих сетевых картах можно добиться очень высокой производительности.
h2. Melanox
Все модели этого производителя очень хорошо зарекомендовали себя для работы в системе фильтрации.
h3. Mellanox Technologies MT27520 Family \[ConnectX-3 Pro\]
Одна из лучших сетевых карт, с которыми доводилось иметь дело.
Имеет несколько очередей и большой rx-буфер.
{code}
[root@carbon2 carbon]# ethtool -l eth2
Channel parameters for eth2:
Pre-set maximums:
RX: 128
TX: 32
Other: 0
Combined: 0
Current hardware settings:
RX: 8
TX: 12
Other: 0
Combined: 0
{code}
Но есть небольшая особенность, доставляющая небольшие неудобства в системах с 6 ядрами на процессор: не удаётся задать число RX-очередей не кратное степени двойки. При задании, к примеру 6, работают только 4 очереди, а две не получают прерывания. На 4, 8 и 16 ядерных процессорах всё идеально.
h2. Broadcom / Emulex
h3. NetXtreme BCM5720
h3. Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02) / Emulex Corporation Device e729
Максимальный RX-буфер: 1024
По умолчанию имеет 4 очереди.
{code}
[root@carbon ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 3
[root@carbon ~]# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 2048
{code}
Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:
{code}
echo options be2net rx_frag_size=4096 > /etc/modprobe.d/be2net.conf
reboot
{code}
h2. Intel
Хоть они и хороши, если возникнут проблемы - [есть статья|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799130].
h3. I210
Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03), Subsystem: Super Micro Computer Inc Device 1533
Максимальный RX-буфер: 4096
По умолчанию 4 rxtx очереди на 4 ядрах
*Внимание*: Иногда имеет проблемы при работе на дефолтном модуле ядра. В одном случае с 2xVlan в зеркале это удалось победить [установкой последней версии драйвера, собранного с опцией IGB_NO_LRO.|reductor5:Сборка драйвера IGB без LRO]
h3. I211
Ethernet controller: Intel Corporation I211 Gigabit Network Connection
h3. I350
h3. 82576
h3. 82599ES
Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP\+ Network Connection (rev 01)
Максимальный RX-буфер: 4096
По умолчанию 4 rxtx очереди на 4 ядрах
2 порта под SFP
h3. 82599EB
h3. 82599EN
1 порт под SFP