#linux #сеть #kernel
При нагрузке на сеть(много соединений и дудос) у меня нагружается только ядро №5. Как можно распределить нагрузку на все ядра?(настраивал sysctl, irqbalance нет)
Ответы
Ответ 1
Для начала, тебе нужно узнать, работает ли на твоем сервере механизм ядра, называющийся RPS: watch -n1 cat /proc/softirqs Если NET_RX и NET_TX прерывания идут только на одно ядро, значит RPS не включен, и его необходимо сконфигурировать, с помощью установки битовых масок в: /sys/class/net/DEVICE/queues/QUEUE/rps_cpus Битовые маски, в HEX формате означают, на каких cpu будут обрабатываться сетевые прерывания, и для каждой системы они будут разные. Статья с примером установки таких масок: https://habrahabr.ru/company/flant/blog/332432/ Подробнее об RPS можно прочитать тут: https://github.com/torvalds/linux/blob/v3.13/Documentation/networking/scaling.txt#L138-L164
Комментариев нет:
Отправить комментарий