При использовании многопроцессорных систем есть свои особенности.
Для отладки производительности и исследования данного железа рекомендуем использовать утилиты server-info и network-top из пакета netutils-linux, они доступны внутри chroot /app/reductor/, если он ещё не установлен или это Carbon Reductor 7, то его можно установить следующими командами:
yum -y install python-pip pip install --upgrade netutils-linux network-top
Системы с несколькими физическими процессорами и раздельной памятью (несколькими NUMA-нодами)
Сетевая карта может быть привязана к NUMA-ноде, проверить это можно:
# cat /sys/class/net/eth2/device/numa_node 0
В данном случае это node0. В таком случае обработкой пакетов на этой сетевой карте должны заниматься ядра процессора, привязанные к этой ноде:
# numactl --hardware | grep cpus node 0 cpus: 0 1 2 3 4 5 node 1 cpus: 6 7 8 9 10 11
В данном случае, это 0, 1, 2, 3, 4, 5.
Двухпортовые сетевые карты
К NUMA-нодам привязка идёт в зависимости от PCI-слота, в который установлена сетевая карта.
Перенести один из портов на другую NUMA-ноду невозможно.
Соответственно, для утилизации второго физического процессора потребуется устанавливать вторую физическую сетевую карту.
Использование вторым портом сетевой карты другой NUMA-ноды при мало-мальской нагрузке приводит к потере производительности и, соответственно, потерям пакетов.
Системы с двумя процессорами и общей памятью.
В случае, если NUMA-нода одна на систему, но используются два разных физических процессора, лучше ограничить обработку трафика порта сетевой карты одним из процессоров, а не использовать оба порта одновременно.
Число очередей порта сетевой карты превышает число ядер в группе NUMA-ноды или физического процессора.
Число очередей у хороших сетевых карт как правило регулируемо с помощью команд:
Узнать возможности сетевой карты:
# ethtool -l eth2
Channel parameters for eth2:
Pre-set maximums:
RX: 0
TX: 0
Other: 1
Combined: 63
Current hardware settings:
RX: 0
TX: 0
Other: 1
Combined: 12
Установить число комбинированных очередей:
# ethtool -L eth2 combined 6
Помочь сохранить эти настройки после перезагрузки может наша техническая поддержка.