Сетевые карты
Наша компания давно работает с интернет провайдерами. Несмотря на то что мы пишем софт, нам часто приходится помогать своим клиентам решать проблемы с оборудованием. Так вот - мы настолько намучались с D-Link / Realtek / другими дешёвыми сетевыми картами за последние десять лет, что категорически рекомендуем не использовать их для чего-то кроме рабочих станций.
Возможно как железо они не так уж и плохи, но дело в их драйвере:
- Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора.
- Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)
- Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
- Отсутствие поддержки NAPI драйвером.
Intel
- 82541PI Gigabit Ethernet Controller (rev 05)
- 82574L Gigabit Network Connection
- 82540EM Gigabit Ethernet Controller (rev 03)
- 82545EM
- 82579LM
Хоть мы и рекомендуем Intel, но конкретно эти модели брать не советуем.
Только одна очередь, в итоге всем будет заниматься только одно ядро процессора.
Для десктопа - хороша (и наверное дешёвая довольно), но для сервера фильтрации - не очень.
Broadcom
- Broadcom Corporation NetXtreme BCM5721
- Broadcom Corporation NetXtreme BCM5722
Разное
- VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)
- Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)
NVIDIA
- Corporation MCP55 Ethernet (rev a3)
Проблемы:
- только одна очередь
- при указании диапазона ядер smp_affinity_list использует только первое ядро (плохой драйвер)
- нет возможности указывать coalesce параметры.
В результате даже при небольшом объёме трафика даёт очень высокую нагрузку на ядро процессора, которое занимается обработкой трафика с этой сетевой карты что приводит к неприемлемо медленной обработке пакетов.
29: 360056 0 3486921273 0 PCI-MSI-edge eth1 Pre-set maximums: RX: 16384 Current hardware settings: RX: 2048 Cannot get device coalesce settings: Operation not supported ≈75 mbit/sec 26364 pkts/sec
Одноядерные процессоры
Мощность процессора - одна из самых важных для Carbon Reductor характеристик сервера. Одно ядро часто приводит к шторму прерываний, а в итоге к потерям.
Желательно использовать процессор с современной микроархитектурой (Sandy Bridge и новее)
