h1. Сетевые карты
Наша компания давно работает с интернет провайдерами. Несмотря на то что мы пишем софт, нам часто приходится помогать своим клиентам решать проблемы с оборудованием. Так вот - мы настолько намучались с D-Link / Realtek сетевыми картами за последние десять лет, что категорически рекомендуем не использовать их для чего-то кроме рабочих станций.
Возможно как железо они не так уж и плохи, но дело в их драйвере:
# Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора.
# Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)
# Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
# Отсутствие поддержки NAPI драйвером.
h2. NVIDIA Corporation MCP55 Ethernet (rev a3)
Проблемы:
* только одна очередь
* при указании диапазона ядер smp_affinity_list использует только первое ядро (плохой драйвер)
* нет возможности указывать coalesce параметры.
В результате даже при небольшом объёме трафика даёт очень высокую нагрузку на ядро процессора, которое занимается обработкой трафика с этой сетевой карты что приводит к неприемлемо медленной обработке пакетов.
{code}
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
{code}
h1. Одноядерные процессоры
Мощность процессора - одна из самых важных для Carbon Reductor характеристик сервера. Одно ядро часто приводит к шторму прерываний, а в итоге к потерям.
Наша компания давно работает с интернет провайдерами. Несмотря на то что мы пишем софт, нам часто приходится помогать своим клиентам решать проблемы с оборудованием. Так вот - мы настолько намучались с D-Link / Realtek сетевыми картами за последние десять лет, что категорически рекомендуем не использовать их для чего-то кроме рабочих станций.
Возможно как железо они не так уж и плохи, но дело в их драйвере:
# Одна очередь на rxtx, вне зависимости от числа доступных ядер процессора.
# Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)
# Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор.
# Отсутствие поддержки NAPI драйвером.
h2. NVIDIA Corporation MCP55 Ethernet (rev a3)
Проблемы:
* только одна очередь
* при указании диапазона ядер smp_affinity_list использует только первое ядро (плохой драйвер)
* нет возможности указывать coalesce параметры.
В результате даже при небольшом объёме трафика даёт очень высокую нагрузку на ядро процессора, которое занимается обработкой трафика с этой сетевой карты что приводит к неприемлемо медленной обработке пакетов.
{code}
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
{code}
h1. Одноядерные процессоры
Мощность процессора - одна из самых важных для Carbon Reductor характеристик сервера. Одно ядро часто приводит к шторму прерываний, а в итоге к потерям.