close

DPI и NGFW теряют пакеты в час пик, хотя в сервере два процессора: почему сетевое ПО работает на одном и как собрать 10 портов 200GbE на ITPOD-SR201-S12R-NV-G2

DPI и NGFW теряют пакеты в час пик, хотя в сервере два процессора: почему сетевое ПО работает на одном и как собрать 10 портов 200GbE на ITPOD-SR201-S12R-NV-G2

Вечер пятницы, трафик на пике, DPI начал терять пакеты. Дежурный открывает мониторинг и видит странное:

  • один процессор загружен полностью;
  • второй почти пустой;
  • за оба заплатили, под оба выделили ток и место в стойке.

Утром разбор: почему сервер на два процессора работает как сервер на один. Ответ есть в документации самого сетевого ПО. Разберём его и посчитаем, какой сервер нужен вместо этого.

Краткая выжимка

  • DPI, NGFW, анти-DDoS и IDS/IPS требуют держать ядра, память и сетевые карты на одном процессоре. Второй процессор такому ПО почти не помогает.
  • Виртуальному NGFW на сервере 2 × 96 ядер достаётся до 96 ядер. На одном AMD EPYC 9965 - 192.
  • ITPOD-SR201-S12R-NV-G2 вмещает 10 портов 200GbE на одном процессоре, а со слотом OCP 3.0 - 12. 

Почему DPI на двухпроцессорном сервере работает только на одном процессоре

Сетевому ПО нужно, чтобы сетевая карта, память с пакетами и ядра были у одного процессора. Иначе каждый пакет идёт через шину между процессорами, и обработка замедляется.

Как это устроено в двухпроцессорном сервере:

  • у каждого процессора своя память и свои слоты PCIe;
  • сетевая карта стоит в слоте одного из процессоров;
  • если пакет достался ядру соседнего процессора, он идёт через межпроцессорную шину;
  • память соседа отвечает медленнее своей.

Такую архитектуру называют NUMA, а половину сервера с одним процессором — NUMA-узлом. Базе данных лишний переход терпим. DPI обрабатывает десятки миллионов пакетов в секунду, и задержка на каждом пакете режет пропускную способность.

Поэтому разработчики ПО пишут прямо: держите всё в одном узле. Второй процессор в такой схеме простаивает.

Что требуют производители сетевого ПО

Требование одно и то же у открытых проектов и у коммерческих продуктов. Цитаты сверены по первоисточникам.

КтоЧто требуетИсточник
DPDK 26.07.0«To get the best performance, ensure that the core and NICs are in the same socket.»doc.dpdk.org
Suricata (IDS/IPS)«use as many worker threads as cpu cores available/possible - from the same NUMA node»docs.suricata.io
Open vSwitch с DPDK«Ideally inter-NUMA datapaths should be avoided where possible»docs.openvswitch.org
Juniper vSRXвсе vCPU в одном NUMA-узле; иначе PFE «will become unresponsive»juniper.net
Fortinet FortiGate-VM«The nodeset should therefore be the NUMA node associated to the NIC»docs.fortinet.com
Ideco NGFW Novum v21«виртуальные процессоры… располагаются на одной физической NUMA-ноде»docs.ideco.ru
VAS Experts СКАТ (DPI, BRAS)«ПО СКАТ использует только один процессор из-за влияния на производительность NUMA»wiki.vasexperts.ru

Честная оговорка: процент потерь не публикует никто. Open vSwitch пишет о «slight performance penalty», Juniper — о зависании. А референсная архитектура SUSE и AMD для телекома от 07.07.2026 разницы на своём тесте не заметила. NUMA сильнее всего бьёт по пакетной обработке на DPDK и по виртуальным NGFW.

Сколько ядер получит виртуальный NGFW: 96 или 192

На сервере с двумя процессорами по 96 ядер виртуальный NGFW получит до 96 ядер. На одном AMD EPYC 9965 — 192.

Расчёт простой:

  1. Juniper и Ideco требуют держать все vCPU в одном NUMA-узле.
  2. В двухпроцессорном сервере узел — это один процессор, 96 ядер.
  3. В однопроцессорном сервере узел — весь процессор: у AMD EPYC 9965 это 192 ядра.

Это наш расчёт на требованиях производителей, а не их рекомендация. Вывод для закупки: второй процессор не поднимает потолок виртуального NGFW. За вторую половину сервера заплачено, но ПО до неё не дотянется.

Какой сервер нужен для DPI класса 400 Гбит/с

Для класса 400 Гбит/с в каждую сторону один производитель DPI указывает такой набор (VAS Experts):

РесурсТребованиеКак считать
Ядра192 физических ядрастолько у одного AMD EPYC 9965
Память1024 ГБна 12 каналах берут модули по 96 ГБ: 12 × 96 = 1152 ГБ
Порты10 × 200GbE, пять двухпортовых картсчитать по таблице производителя
Слотыпять слотов PCIe 5.0 x16слот x8 для карты 2 × 200GbE мал

Откуда класс 400. Производитель советует запас 20–30 % к трафику. Оператору с пиком 300 Гбит/с нужно 300 × 1,2–1,3 = 360–390 Гбит/с. Это и есть класс 400.

Хватит ли линий PCIe 5.0:

  • слот PCIe 5.0 x16 даёт около 504 Гбит/с в каждую сторону (32 ГТ/с × 16 линий × 128/130);
  • карте 2 × 200GbE нужно 400 Гбит/с;
  • запас — 104 Гбит/с на слот.

Важно: 10 портов по 200 Гбит/с — это ёмкость портов, а не скорость DPI. Реальную пропускную способность определяют ПО и профиль трафика.

Как разложить 10 портов 200GbE в ITPOD-SR201-S12R-NV-G2

ITPOD-SR201-S12R-NV-G2 — сервер 2U с одним процессором AMD EPYC 9005, старшая модель — AMD EPYC 9965 на 192 ядра. Его 128 линий PCIe 5.0 выведены на 16 разъёмов MCIO x8, к ним кабелями подключаются райзеры и фронтальные NVMe.

Правила бюджета:

  • слот x16 занимает два разъёма MCIO;
  • слот x8 - один разъём;
  • слот OCP 3.0 x16 занимает место двух разъёмов;
  • два фронтальных NVMe - один разъём.
блок-схема ITPOD-SR201-S12R-NV-G2: 128 линий PCIe 5.0 одного процессора, восемь групп по x16, 16 разъёмов MCIO x8

блок-схема ITPOD-SR201-S12R-NV-G2: 128 линий PCIe 5.0 одного процессора, восемь групп по x16, 16 разъёмов MCIO x8

Раскладка под DPI:

МестоЧто стоитРазъёмов MCIO
Riser 1, Option 2: SLOT 2 и SLOT 1 по x162 карты 2 × 200GbE4
Riser 2, Option 2: SLOT 5 и SLOT 4 по x162 карты 2 × 200GbE4
Riser 3: SLOT 7 x161 низкопрофильная карта 2 × 200GbE2
Riser 4: SLOT 8 x8RAID-карта с двумя M.2 NVMe под ОС2
Фронт3 NVMe под журналы и статистику2
Свободнослот OCP 3.0 x16 и SLOT 9 x8—
Итого10 портов 200GbE14 из 16

Ещё одна карта в слоте OCP 3.0 даёт 12 портов 200GbE. Все карты стоят на линиях одного процессора. Требование DPDK «core and NICs are in the same socket» выполняется само, без настройки BIOS.

вид сзади: Riser 1 и Riser 2 полноразмерные, Riser 3 и Riser 4 низкопрофильные, слот OCP 3.0 и порты I/O board

вид сзади: Riser 1 и Riser 2 полноразмерные, Riser 3 и Riser 4 низкопрофильные, слот OCP 3.0 и порты I/O board

Почему весь процессор — один NUMA-узел

У AMD EPYC 9005 режим NPS1 включён по умолчанию. В этом режиме весь процессор — один NUMA-узел: все ядра, вся память и все сетевые карты в нём.

AMD рекомендует этот режим для большинства нагрузок: «The default configuration (one NUMA domain per socket) is recommended for most workloads» (AMD 58467, rev 2.3). Включать ничего не нужно.

Чем ITPOD-SR201-S12R-NV-G2 отличается от других односокетных серверов 2U

Главное отличие — AMD EPYC 9965: 192 ядра и 500 Вт.

СерверПотолок процессораИсточник
ITPOD-SR201-S12R-NV-G2AMD EPYC 9965: 192 ядра, 500 Вттехнический гайд модели
Dell PowerEdge R7715160 ядер, 400 ВтDell Technical Guide
Lenovo ThinkSystem SR655 V3160 ядер, 400 ВтLenovo Product Guide LP1610

Что это значит для DPI: класс 400 Гбит/с с его 192 ядрами на сервере с потолком 160 ядер не собирается.

Что ещё есть в ITPOD-SR201-S12R-NV-G2:

  • Охлаждение воздухом. Радиатор EVAC Plus снимает 500 Вт в обычном ЦОДе при 5–35 °C. Для процессоров до 360 Вт есть радиатор Standard.
  • Память. 12 слотов DDR5 RDIMM, по модулю на канал. Подтверждённая конфигурация - 12 × 96 ГБ DDR5-6400.
  • Управление. Выделенный BMC, Redfish 1.15.1, IPMI 2.0, SNMPv3, настройка парка через Ansible.
  • Один домен отказа. При сбое не нужно выяснять, в каком из двух процессоров проблема.

Часто задаваемые вопросы

Почему DPI использует только один процессор из двух? Разработчики требуют держать ядра, память и сетевые карты в одном NUMA-узле. В двухпроцессорном сервере узел - это один процессор.

Что такое NPS1 на AMD EPYC 9005? Режим, в котором весь процессор работает как один NUMA-узел. Он включён по умолчанию.

Сколько портов 200GbE помещается в ITPOD-SR201-S12R-NV-G2? До 12. Десять на пяти картах в слотах x16 и ещё два в слоте OCP 3.0.

Какую скорость даст DPI на этом сервере? Её определяют ПО и профиль трафика. Сервер даёт ресурсы, которые производитель DPI указывает для класса 400 Гбит/с: 192 ядра, 1152 ГБ памяти, 10 портов 200GbE.

Какой радиатор нужен для EPYC 9965? EVAC Plus, он рассчитан на процессоры до 500 Вт.