Malissa Posted June 14, 2019 · Report post Добрый день. Не распределяется нагрузка по всем ядрам процессоров. Стоит два процессора Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz Задействуются только 8 ядер первого процессора или 16 потоков в не зависимости с одним процессором запускать или с двумя. Кто то знает в чем проблема и как это исправить? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 14, 2019 · Report post @Malissa Со всей очевидностью недостаточно сведений: OS Модель сетевого адаптера ( сколько их) Что за нагрузка Что за стек Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted June 14, 2019 · Report post И прочитать про NUMA. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted June 14, 2019 · Report post Если речь про роутинг и прочее - то NUMA тут плохой выбор. На такой хрени базы гонять, компелять и прочие рассчёты. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted June 15, 2019 · Report post 15 часов назад, Ivan_83 сказал: Если речь про роутинг и прочее - то NUMA тут плохой выбор. Немного неправильное утверждение. Правильное - если речь про роутинг/нат/файрвол - то многопроцессорность (не многоядерность!) очень плохой выбор. Есть DL-360 то ли G5 то ли G6. Мать двухсокетная, но при том в системе всего один NUMA домен. И на роутинге показал себя весьма печально. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted June 16, 2019 · Report post В 15.06.2019 в 15:03, taf_321 сказал: Правильное - если речь про роутинг/нат/файрвол - то многопроцессорность (не многоядерность!) очень плохой выбор. С односокетных NUMA включается только у тредриперов, из того что я знаю, все остальные где один сокет NUMA не имеют. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted June 17, 2019 · Report post В 15.06.2019 в 15:03, taf_321 сказал: Есть DL-360 то ли G5 то ли G6. Мать двухсокетная, но при том в системе всего один NUMA домен. И на роутинге показал себя весьма печально. если двухсокетная с одним NUMA доменом - то это явно LGA771. и да, они в роутинге таки печальные, что и не удивительно (контроллер памяти-то в чипсете, + медленная DDR2 FBDIMM)... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Malissa Posted June 18, 2019 (edited) · Report post В биосе про NUMA ничего не нашли. Скрины прикреплены. numactl --hardware | grep cpus node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Сервер HP ProLiant DL360 Gen9. Используется для маршрутизации сетевого трафика. # /proc/interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 CPU8 CPU9 CPU10 CPU11 CPU12 CPU13 CPU14 CPU15 CPU16 CPU17 CPU18 CPU19 CPU20 CPU21 CPU22 CPU23 CPU24 CPU25 CPU26 CPU27 CPU28 CPU29 CPU30 CPU31 CPU32 CPU33 CPU34 CPU35 CPU36 CPU37 CPU38 CPU39 9687 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-0 0 11370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-1 0 0 10870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-2 0 0 0 11574 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-3 0 0 0 0 11529 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-4 0 0 0 0 0 11500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-5 0 0 0 0 0 0 11718 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-6 0 0 0 0 0 0 0 11951 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-7 0 0 0 0 0 0 0 0 11087 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-8 0 0 0 0 0 0 0 0 0 11627 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-9 0 0 0 0 0 0 0 0 0 0 10400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-10 0 0 0 0 0 0 0 0 0 0 0 11261 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-11 0 0 0 0 0 0 0 0 0 0 0 0 11283 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-12 0 0 0 0 0 0 0 0 0 0 0 0 0 11025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10211 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10447 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0-TxRx-15 9625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-0 0 10898 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-1 0 0 10508 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-2 0 0 0 10787 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-3 0 0 0 0 11110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-4 0 0 0 0 0 10406 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-5 0 0 0 0 0 0 10383 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-6 0 0 0 0 0 0 0 10782 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-7 0 0 0 0 0 0 0 0 10009 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-8 0 0 0 0 0 0 0 0 0 11512 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-9 0 0 0 0 0 0 0 0 0 0 9820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-10 0 0 0 0 0 0 0 0 0 0 0 10595 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-11 0 0 0 0 0 0 0 0 0 0 0 0 10864 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-12 0 0 0 0 0 0 0 0 0 0 0 0 0 10362 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9989 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1-TxRx-15 4684 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth2-tx-0 301 307 318 316 311 309 317 314 305 309 305 314 310 335 312 313 3 14 5 1 2 5 102 18 27 19 1 1 1 14 16 2 1 1 1 3 94 1 2 8 interrupts 96 96 94 95 94 95 96 95 93 94 95 95 95 94 95 95 17 7 3 1 2 3 48 5 11 9 1 1 1 5 6 2 1 1 1 2 36 2 2 4 interrupts # Load per cpu: CPU Interrupts NET RX NET TX total dropped time_squeeze cpu_collision received_rps CPU0 24405 20861 106 34026 0 0 0 0 CPU1 22672 21690 41 34209 0 0 0 0 CPU2 21792 20906 45 39450 0 0 0 0 CPU3 22774 21749 37 30181 0 0 0 0 CPU4 23048 22006 38 27668 0 0 0 0 CPU5 22312 21518 33 30442 0 0 0 0 CPU6 22516 21468 44 29341 0 0 0 0 CPU7 23142 22160 37 35235 0 0 0 0 CPU8 21495 20555 32 38061 0 0 0 0 CPU9 23542 22578 37 35224 0 0 0 0 CPU10 20620 19630 90 34012 0 0 0 0 CPU11 22265 21306 103 29419 0 0 0 0 CPU12 22555 21614 91 27423 0 0 0 0 CPU13 21816 20939 92 34165 0 0 0 0 CPU14 20668 19746 90 35561 0 0 0 0 CPU15 20845 19912 89 31498 0 0 0 0 CPU16 51 3 0 0 0 0 0 0 CPU17 24 3 0 0 0 0 0 0 CPU18 11 3 0 0 0 0 0 0 CPU19 5 3 0 0 0 0 0 0 CPU20 7 3 0 0 0 0 0 0 CPU21 11 3 0 0 0 0 0 0 CPU22 153 3 0 0 0 0 0 0 CPU23 26 3 0 0 0 0 0 0 CPU24 41 3 0 0 0 0 0 0 CPU25 32 3 0 0 0 0 0 0 CPU26 5 3 0 0 0 0 0 0 CPU27 5 3 0 0 0 0 0 0 CPU28 5 3 0 0 0 0 0 0 CPU29 22 3 0 0 0 0 0 0 CPU30 45 3 0 0 0 0 0 0 CPU31 7 3 0 0 0 0 0 0 CPU32 5 3 0 0 0 0 0 0 CPU33 5 3 0 0 0 0 0 0 CPU34 5 3 0 0 0 0 0 0 CPU35 8 3 0 0 0 0 0 0 CPU36 133 3 0 0 0 0 0 0 CPU37 6 3 0 0 0 0 0 0 CPU38 7 3 0 0 0 0 0 0 CPU39 15 3 0 0 0 0 0 0 # Network devices Device rx-packets rx-mbits rx-errors dropped missed fifo length overrun crc frame tx-packets tx-mbits tx-errors eno4 0 0 0 0 0 0 0 0 0 0 0 0 0 eno2 0 0 0 0 0 0 0 0 0 0 0 0 0 eth2 8 0 0 0 0 0 0 0 0 0 309497 290 0 eth0 302209 564 0 0 0 0 0 0 0 0 370792 2999 0 lo 0 0 0 0 0 0 0 0 0 0 0 0 0 eno3 0 0 0 0 0 0 0 0 0 0 0 0 0 eth1 343908 2973 0 0 0 0 0 0 0 0 275173 527 0 Edited June 18, 2019 by Malissa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
TriKS Posted June 18, 2019 · Report post 1) Для начала отрубить гипертрейдинги всякие. 2) Раскидать прерывания ..... 0) Дать по башке тому, кто покупал, т.к. для форвардинга хватит железки стоимостью 1-го камня E5-2650 v3 @ 2.30GHz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Malissa Posted June 18, 2019 · Report post 14 minutes ago, TriKS said: 1) Для начала отрубить гипертрейдинги всякие. 2) Раскидать прерывания ..... 0) Дать по башке тому, кто покупал, т.к. для форвардинга хватит железки стоимостью 1-го камня E5-2650 v3 @ 2.30GHz При отключении гипертрейдинга из 10 ядер загружены только 8 или 16 если включен. Раньше в железке был один камень, второй взяли под увеличение нагрузки, надеялись что будет работать а не надо будет покупать другой сервер. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 18, 2019 · Report post 2 часа назад, Malissa сказал: HP ProLiant DL360 Gen9 В базе у изделия двухпортовый i350, там 8 (восемь) очередей на порт. Вот он у вас ровно на 16 потоков и распределился. А, поскольку драйвер умный и про NUMA и PCIE Root в курсе, то на второй CPU и не лезет. Хотите больше - покупайте сетевку получше, или надо танцевать с бубнами (про операционку мы так и не услышали) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Malissa Posted June 18, 2019 (edited) · Report post 8 minutes ago, jffulcrum said: В базе у изделия двухпортовый i350, там 8 (восемь) очередей на порт. Вот он у вас ровно на 16 потоков и распределился. А, поскольку драйвер умный и про NUMA и PCIE Root в курсе, то на второй CPU и не лезет. Хотите больше - покупайте сетевку получше, или надо танцевать с бубнами (про операционку мы так и не услышали) debian 9.5 сетевуха используется другая: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Edited June 18, 2019 by Malissa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 18, 2019 · Report post Варианты: irqbalance или более интеллектуальным средством вроде rss-ladder раскидать прерывания на два проца (выключив HT). Очевидный минус - процам придется лазать в память друг к другу, могут вырасти задержки. RPS. Хороший скрипт валяется в https://stackoverflow.com/questions/30618524/setting-receive-packet-steering-rps-for-32-cores Очевидный минус - тот же, что и в предыдущем варианте, плюс рост нагрузки по softirq Установка в сервер еще одной сетевки (внимательно посмотреть, чтобы в тот порт, который идет от другого CPU, чем для встроенной сети) и деление трафика как-то между ними (не бондингом). Минус: усложнится администрирование и могут вылезти какие-нибудь еще проблемы Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
TriKS Posted June 18, 2019 (edited) · Report post 4 часа назад, Malissa сказал: Раньше в железке был один камень, второй взяли под увеличение нагрузки, надеялись что будет работать а не надо будет покупать другой сервер. Один камень продует форвардингом все 10Г, что на: 2 часа назад, Malissa сказал: сетевуха используется другая: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ 4 часа назад, Malissa сказал: При отключении гипертрейдинга из 10 ядер загружены только 8 или 16 если включен. Google.com->увеличение очередей сетевой карты. А вообще - листайте Вам еще б и буфера покрутить, и лишак всякий отрубить вроде gso\tso\gro но то все в гуглах есть. Ну и прислушаться к комраду jffulcrum Edited June 18, 2019 by TriKS Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 18, 2019 · Report post 2 часа назад, Malissa сказал: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Тогда вариант 4: ethtool -L ethX combined N N - число очередей, которые хотите использовать (прерываний создастся столько же). Для каждого порта (устройства eth) отдельно. Максимум у этой карты 64 (128 при виртуализации). И потом irqbalance на все CPU. Минусы прежние. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Malissa Posted June 20, 2019 · Report post Писали в HP, там нам ответили что это баг прошивки биоса и надо прошивать биос, купите у нас продление лицензии а потом мы вам дадим прошивки. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 20, 2019 · Report post Это бредовый ответ поддержки. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NewUse Posted June 20, 2019 · Report post торрент никто не отменял:) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nixx Posted June 21, 2019 · Report post 21 час назад, jffulcrum сказал: Это бредовый ответ поддержки. почему же бредовый? хьюлетт (hpe) нынче биосы за спасибо не отдает. только за денежки. В 20.06.2019 в 16:51, Malissa сказал: и надо прошивать биос, купите у нас продление лицензии скачайте с какого-нибудь рутрекера свежий "Proliant Service Pack", там, в зависимости от свежести, может быть и обновление для вашего биоса. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted June 24, 2019 · Report post @nixx Бредовый в контексте того, что проблемы вызвана багом в BIOS Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
FATHER_FBI Posted June 24, 2019 (edited) · Report post Ссылка на HP Service Pack Что касается прерываний, судя по чипу, у вас стоит Intel X520-DA2, каждый порт прибейте к определенному сокету, всегда так делали Загрузка по ядрам Процессоры Edited June 24, 2019 by FATHER_FBI Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nixx Posted August 13, 2019 · Report post подниму тему - очень похожая проблема, и тоже на дебиане. Debian 10, сетевушка Mellanox 4, генератор трафика pkt-gen на фряхе. с родным драйвером, который идет в дистрибутиве, сетевая нагружает ядра через одно. ну то есть сервер - один проц - шесть ядер. загружены только 1, 3, 5 (по htop, по /proc/interrupts). сервер - два проца по 8 ядер в каждом - загружены 1, 3, 5, 7, 9, 11, 13, 15. гипертрейдинг выключен, конечно же. ядра честные. smp_affinity - в порядке - количество очередей равно количеству процов, и все на разных ядрах (0001, 0002, 0004, 0008, 0010 и т.д.), irqbalance из коробки отсутствует. причем драйвер mlx5_core в дебиане имеет версию 5.0, о которой сайт мелланокса вообще ничего не слышал (там последняя 4.6). кто-нибудь сталкивался? что можно покрутить? пока пытаюсь вкорячить версию 4.6 с сайта мелланокса, но она под дебиан 9.6, и есть некоторые сомнения в стабильности ее работы под 10-м. ps: intel 82599 в этом же сервере нагружает все ядра равномерно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nixx Posted August 13, 2019 (edited) · Report post сам спросил, сам отвечаю... ) помогло переключение алгоритма хэширования RSS с XOR (почему-то оно включено по дефолту у мелланокса) на Toeplitz. Edited August 13, 2019 by nixx Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted August 15, 2019 · Report post зачем так сложно, все гораздо проще если кол-во очередей = кол-ву ядер for i in `ls /sys/class/net/eth*/queues/rx-*/rps_cpus`; do echo ffff >$i; done for i in `awk '/eth[0-9]+-/ {split($5,a,"-");print $1.a[3]}' /proc/interrupts`; do int=`echo $i|sed 's,:.*,,'`; mask=`echo $i|awk '{split($1,a,":"); print 2**a[2]}'`; echo $mask > /proc/irq/$int/smp_affinity; done Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted August 15, 2019 · Report post @h3ll1 @NiTr0 rm -rf не забыли в скрипты вставить? :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...