Новые и старые пользователи Carbon Reductor часто просят дать рекомендацию по подбору оборудования, причём довольно таки конкретную.
Увы, тестированием большого количества разного железа в рамках компании мы заняться не можем, но хотя бы попробуем составить список уже используемого оборудования, которое ни разу не напрягало после соответствующих настроек.
Сетевые карты
Многие сетевые карты не могут до конца закрыть свой потенциал из коробки и часто приходится их немного тюнить. Не стоит считать что если вы засунули классную и дорогую 10гбит/с карту в сервер, то потерь точно не будет.
Однако после грамотной настройки на многих сетевых картах можно добиться очень высокой производительности.
Вендор | Модель | Тип | Число очередей (макс.) |
Размер буфера (макс.) |
Макс. наблюдавшаяся нагрузка на 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 | 10 Гбит/сек | combined=64 | rx=4096 | 4.5 Гбит/сек | Скорее всего способна обрабатывать и больший объём трафика. |
Intel | 82599ES, 82599EB (2 порта) 82599EN (1 порт) |
10 Гбит/сек | combined=63 | rx=4096 tx=4096 |
3.5 гбит/сек | Нужно отключать опции LRO и GRO. В остальном хороши, популярны, легко купить замену при необходимости |
Intel | I210, I211, I350 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