Я получил довольно мощный Linux-сервер — Dell PowerEdge R6515, он содержит ядра x64 и использует процессор AMD Epyc.
Также есть выделенные LAN PCI:
лспци | грэп 10G
41:00.0 Ethernet-контроллер: Intel Corporation Ethernet Controller X710 для 10GbE SFP+ (версия 02)
41:00.1 Ethernet-контроллер: Intel Corporation Ethernet Controller X710 для 10GbE SFP+ (версия 02)
Мы используем его как VPN-сервер для сервера Strongswan. Проблема в том, что у нас довольно много отказов интерфейса для зашифрованного RX-трафика ~ 500 Мб.В процентах из ~30 тыс. пакетов интерфейс падает примерно на 30 из них. Что составляет около 0,1% отброшенных пакетов. Что не очень критично, но есть куда расти.
Единственная конфигурация, связанная с сетью, — это режим tuningadm, установленный на пропускную способность сети.
ифконфиг p3p1
p3p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::faf2:1eff:fed9:dc80 prefixlen 64 scopeid 0x20<ссылка>
эфир f8:f2:1e:d9:dc:80 txqueuelen 1000 (Ethernet)
Пакеты RX 2637785997 байт 1724447946355 (1,5 ТиБ)
Ошибки RX 0 **отброшено 1342892** выходит за рамки 0 кадр 0
Пакеты TX 2943486813 байт 1844888609689 (1,6 ТиБ)
Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
Я использую Centos 7.9.
Также постоянное количество программных прерываний составляет ~ 130 тыс. Конечно, он не распределяет нагрузку между ядрами одинаково, поэтому на других сайтах мы используем PowerEdge R340, который имеет всего 12 ядер, который лучше работает на стороне сброса и даже на стороне прерываний.
Я думаю, что такое поведение вполне связано с большим количеством ядер. Можно ли что-то улучшить? Я вижу, что есть много возможностей для настройки, но по моему личному опыту почти каждая настройка имеет некоторые недостатки.