Многопроцессорные системы

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

При использовании многопроцессорных систем есть свои особенности.

Для отладки производительности и исследования данного железа рекомендуем использовать утилиты server-info и network-top из пакета netutils-linux, они доступны внутри chroot /app/reductor/, если он ещё не установлен или это Carbon Reductor 7, то его можно установить следующими командами:

yum -y install python-pip
pip install --upgrade netutils-linux
network-top

network-top отображает текущую нагрузку на сетевую подсистему Linux, подсвечивая ядра процессоров и сетевые интерфейсы по группам NUMA-нод (если NUMA нет или одна - то по принадлежности к физическому процессору и другими цветами).

Системы с несколькими физическими процессорами и раздельной памятью (несколькими 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

Помочь сохранить эти настройки после перезагрузки может наша техническая поддержка.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.