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.
Расчёт простой:
- Juniper и Ideco требуют держать все vCPU в одном NUMA-узле.
- В двухпроцессорном сервере узел — это один процессор, 96 ядер.
- В однопроцессорном сервере узел — весь процессор: у 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
Раскладка под DPI:
| Место | Что стоит | Разъёмов MCIO |
|---|---|---|
| Riser 1, Option 2: SLOT 2 и SLOT 1 по x16 | 2 карты 2 × 200GbE | 4 |
| Riser 2, Option 2: SLOT 5 и SLOT 4 по x16 | 2 карты 2 × 200GbE | 4 |
| Riser 3: SLOT 7 x16 | 1 низкопрофильная карта 2 × 200GbE | 2 |
| Riser 4: SLOT 8 x8 | RAID-карта с двумя M.2 NVMe под ОС | 2 |
| Фронт | 3 NVMe под журналы и статистику | 2 |
| Свободно | слот OCP 3.0 x16 и SLOT 9 x8 | — |
| Итого | 10 портов 200GbE | 14 из 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
Почему весь процессор — один 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-G2 | AMD EPYC 9965: 192 ядра, 500 Вт | технический гайд модели |
| Dell PowerEdge R7715 | 160 ядер, 400 Вт | Dell Technical Guide |
| Lenovo ThinkSystem SR655 V3 | 160 ядер, 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 Вт.


