... При использовании многопроцессорных систем есть свои особенности. {toc} Для отладки производительности и исследования данного железа рекомендуем использовать утилиты server-info и network-top из пакета [netutils-linux|https://github.com/strizhechenko/netutils-linux], они доступны внутри chroot /app/reductor/, если он ещё не установлен или это Carbon Reductor 7, то его можно установить следующими командами: {code} yum -y install python-pip pip install --upgrade netutils-linux network-top {code} network-top отображает текущую нагрузку на сетевую подсистему Linux, подсвечивая ядра процессоров и сетевые интерфейсы по группам NUMA-нод (если NUMA нет или одна - то по принадлежности к физическому процессору и другими цветами). !https://cloud.githubusercontent.com/assets/3813830/26570951/acacf18c-452c-11e7-8fe7-5d0952f39d8b.gif|width=600! h1. Системы с несколькими физическими процессорами и раздельной памятью (несколькими NUMA-нодами) Сетевая карта может быть привязана к NUMA-ноде, проверить это можно: {code} # cat /sys/class/net/eth2/device/numa_node 0 {code} В данном случае это node0. В таком случае обработкой пакетов на этой сетевой карте должны заниматься ядра процессора, привязанные к этой ноде: {code} # numactl --hardware | grep cpus node 0 cpus: 0 1 2 3 4 5 node 1 cpus: 6 7 8 9 10 11 {code} В данном случае, это 0, 1, 2, 3, 4, 5. h1. Двухпортовые сетевые карты К NUMA-нодам привязка идёт в зависимости от PCI-слота, в который установлена сетевая карта. Перенести один из портов на другую NUMA-ноду невозможно. Соответственно, для утилизации второго физического процессора потребуется устанавливать вторую физическую сетевую карту. Использование вторым портом сетевой карты другой NUMA-ноды при мало-мальской нагрузке приводит к потере производительности и, соответственно, потерям пакетов.
|
... Число очередей у хороших сетевых карт, как правило, регулируется с помощью команд: Узнать возможности сетевой карты: {code} # 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 {code} Установить число комбинированных очередей: {code} # ethtool -L eth2 combined 6 {code} Помочь сохранить эти настройки после перезагрузки может наша техническая поддержка.
|