Новые и старые пользователи Carbon Reductor часто просят дать рекомендацию по подбору оборудования, причём довольно таки конкретную.
Увы, тестированием большого количества разного железа в рамках компании мы заняться не можем, но хотя бы попробуем составить список уже используемого оборудования, которое ни разу не показывало себя с плохой стороны после соответствующих настроек.
Сетевые карты
Многие сетевые карты имеют неоптимальные настройки по умолчанию, что может приводить к пропускам. Carbon Reductor настраивает часть параметров автоматически при загрузке. Некоторые параметры (RSS) опасно настраивать автоматически, сетевая карта может "зависнуть". Для многопроцессорных систем сложно определить автоматически оптимальную конфигурацию RSS. При установке обращайтесь в техническую поддержку. Мы поможем исключить потери пакетов и подтвердим, что оборудование справляется с текущей нагрузкой.
Вендор | Модель | Тип | Число очередей (макс.) |
Размер буфера (макс.) |
Макс. наблюдавшаяся нагрузка на 1 порт с отсутствием потерь и др. проблем |
Проблемы |
---|---|---|---|---|---|---|
Mellanox | MT27520 Family [ConnectX-3 Pro] |
10 Гбит/сек | rx=128 | rx=8192 | 6.5 Гбит/сек | Число очередей может быть равным только степени двойки, неоптимально на 6-ядерных процессорах |
Broadcom Emulex |
OneConnect 10Gb NIC (be3) Device e729 |
10 Гбит/сек | combined=4 | rx=1024 tx=2048 |
1 Гбит/сек | Малое максимальное число очередей, малый размер rx-буфера. Подойдёт для 800-900мбит/сек. Нужно увеличивать параметр модуля rx_frag_size * |
Intel | X710 (i40e driver) | 10 Гбит/сек | combined=64 | rx=4096 | 4.5 Гбит/сек | Скорее всего способна обрабатывать и больший объём трафика. |
Intel | 82599ES, 82599EB (2 порта) 82599EN (1 порт) (ixgbe driver) |
10 Гбит/сек | combined=63 | rx=4096 tx=4096 |
3.5 гбит/сек | Нужно отключать опции LRO и GRO. В остальном хороши, популярны, легко купить замену при необходимости |
Intel | I210, I211, I350 (igb driver) 82576, 82575EB |
1 Гбит/сек | combined=8 (иногда rx и tx очереди раздельны) |
rx=4096 tx=4096 |
800 мбит/сек | В некоторых ситуациях требует пересборки драйвера без поддержки LRO, в противных случаях зависает. |
НЕ | РЕКОМЕНДОВАННЫЕ | СЕТЕВЫЕ | КАРТЫ | ДЛЯ | ИСПОЛЬЗОВАНИЯ | В ПРОДАКШНЕ |
Intel | 80003ES2LAN, I217-LM, I219-V 82578DM, 82571EB, 82541PI, 82540EM |
1 Гбит/сек | other=1 | rx=4096 | ? | 1 очередь. Автоматическая настройка RPS несколько сглаживает это, но для высокой нагрузки это не подходит. |
VMware | VMXNET3 | 1 Гбит/сек | combined=? | rx=4096 | 0 мбит/сек | Виртуальные машины не способны предоставлять гарантированную скорость реакции. Тем не менее это один из лучших драйверов для виртуальных сетевых карт. |
VMware | VMXNET | 1 Гбит/сек | other=1 | ? | Лучше выберите VMXNET3. | |
Red Hat, Inc | Virtio | ? | ? | ? | ? | ? |
Intel | 82574L | 1 Гбит/сек | rx=1, tx=1 | rx=4096 | ? | 1 rx-очередь |
Broadcom Emulex |
NetXtreme BCM5720 | 1 Гбит/сек | rx=4 (?) | rx=2047 | ? | |
Broadcom | NetXtreme BCM5701 NetXtreme BCM5704 NetXtreme BCM5714 NetXtreme BCM5715 |
1 Гбит/сек | other=1 | rx=511 | ? | 1 очередь, малый буфер |
Broadcom | NetXtreme BCM5708S | 1 Гбит/сек | other=1 | rx=2040 | ? | 1 очередь |
Broadcom | NetXtreme II BCM5708 NetXtreme II BCM5709 NetXtreme II BCM5716 |
1 Гбит/сек | combined=8 ? |
rx=2040 | ? | Возможно нормальная, а проблема была в распределении прерываний при наличии VPN / VLAN / QinQ в трафике, вся нагрузка падала на первую очередь. |
NVIDIA | MCP55 | 1 Гбит/сек | rx=16384 | ? | Несмотря на огромный буфер плохо справляется с нагрузкой, 1 очередь |
|
Via Technologies D-Link Realtek |
* увеличение rx_frag_size для Emulex
Из коробки иногда не хватает значения rx_frag_size, из-за чего растёт счётчик dropped пакетов, но решается очень просто:
echo options be2net rx_frag_size=8192 > /etc/modprobe.d/be2net.conf reboot