Плохо совместимое оборудование

Skip to end of metadata
Go to start of metadata

Сетевые карты

Наша компания давно работает с операторами связи. Несмотря на то что мы пишем софт, нам часто приходится помогать решать проблемы с оборудованием.

И пришли к выводу: категорически запрещено использовать D-Link / Realtek  и другие дешёвые сетевые карты в сервере Carbon Reductor!

Возможно как железо они не так уж и плохи, но дело в их драйвере:

  1. Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора.
  2. Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)
  3. Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
  4. Отсутствие поддержки NAPI драйвером.
Вендор Модель Тип Число
очередей
(макс.)
Размер
буфера
(макс.)
Макс. наблюдавшаяся
нагрузка на 1 порт с
отсутствием потерь и
др. проблем
Проблемы
Intel 80003ES2LAN, 82541GI
82541PI, 82574L, 82540EM
82545EM, 82579LM, 82578DM
82571EB, 82573L, 82573E
82578DC, 82546EB, 82546GB
I219-V, I217
1 Гбит/сек other=1 rx=4096 ? Хоть мы и рекомендуем Intel, но конкретно эти модели брать
не советуем. Только одна очередь, в итоге всем будет заниматься только одно ядро процессора. Автоматическая настройка RPS
сглаживает это, но как правило проблемы сохраняются.

Для рабочей станции эти сетевые карты подходят,
но для сервера фильтрации - не очень.
VMware VMXNET3 1 Гбит/сек combined=? rx=4096 0 мбит/сек Виртуальные машины не способны предоставлять
гарантированную скорость реакции. Тем не менее
это один из лучших драйверов для виртуальных
сетевых карт.
VMware VMXNET 1 Гбит/сек other=1 ?   Лучше выберите VMXNET3.
Red Hat, Inc Virtio ? ? ? ? ?
Broadcom
Emulex
NetXtreme BCM5720 1 Гбит/сек rx=4 (?) rx=2047 ?  
Broadcom NetXtreme: BCM5701, BCM5704
BCM5714, BCM5715, BCM5719 (?)
1 Гбит/сек other=1 rx=511 ? 1 очередь, малый буфер
Не распределяют нагрузку между ядрами, если поступает
 тегированный (VLAN, QinQ) или VPN трафик.
Broadcom NetXtreme BCM5708S 1 Гбит/сек other=1 rx=2040 ? 1 очередь
Broadcom NetXtreme II: BCM5708, BCM5709
BCM5716, BCM5721, BCM5722
1 Гбит/сек combined=8
?
rx=2040 ? Возможно нормальная, а проблема была
в распределении прерываний при наличии
VPN / VLAN / QinQ в трафике, вся нагрузка
падала на первую очередь.
NVIDIA MCP55 1 Гбит/сек   rx=16384 ? Несмотря на огромный буфер плохо
справляется с нагрузкой, 1 очередь
Via Technologies
D-Link, Realtek,
Qualcomm Atheros
3Com, Marvell,
QLogic, NC326i,
TP-Link
           
Chelsio (cxgb3) n320e
10 Гбит/сек 4 rx=1024
(потенциально
rx=16384)
900мбит/сек Не получается увеличить размер буфера до максимально возможного, любые действия направленные
на изменение размера буферов с помощью ethtool всегда возвращают ошибку Device is busy.
При превышении нагрузки в 1.2Гбит/сек при задействовании 4 ядер 3.5GHz возникают time squeeze. 
Нагрузка на CPU при этом довольно высокая, ≈180000 пакетов/сек приводят к ≈55000 прерываний/сек. 
В top нагрузка от обработки прерываний (%si) отображается пиками, 3-10% поднимаются до 30-45%. 
В теории решение проблемы с увеличением буфера до максимума должно помочь. 
Игнорирует параметры ethtool -C eth0 rx-usecs.

Материнские карты

  • Supermicro X8DTU (LGA1366) - позволяет использовать два процессора, но не позволяет подключить сетевую карту к шине памяти второго процессора.
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.