QWE Posted September 5, 2019 (edited) два процесора E5620 @ 2.40GHz, чипсеты контроллеры 5520/5500 5600, памяти по 4ГБ на каждый CPU, СентОС 6.9 с ядром 4.12.0-1.el6.elrepo.x86_64 в сервере две X520-DA2 карточки # ethtool -i eth2 - driver: ixgbe version: 5.1.3. сервер используется как бордер (bird) + NETFLOW Эта штука rx_missed_errors: 1402552 случается на eth2 интерфейсе, который смотрит внутрь сети. на внешнем eth5 rx_missed_errors по нулям eth2 включен DAC кабелем в коммутатор 4948E, в eth5 SFP+ модуль и дальше оптика до бордера провайдера eth2 и eth5 - это разные сетевые карты /etc/modprobe.d/ixgbe.conf options ixgbe IntMode=2,2,2,2 InterruptType=2,2,2,2 RSS=4,4,4,4 InterruptThrottleRate=10000,10000,10000,10000 MQ=1,1,1,1 LRO=0,0,0,0 allow_unsupported_sfp=1,1,1,1 прерывания прибиты к процам /etc/rc.local #OSPF /usr/src/ixgbe-5.1.3/scripts/set_irq_affinity 4-7 eth2 #BGP /usr/src/ixgbe-5.1.3/scripts/set_irq_affinity 0-3 eth5 ethtool -G eth2 rx 2048 tx 2048 ethtool -C eth2 rx-usecs 512 ethtool -G eth5 rx 2048 tx 2048 ethtool -C eth5 rx-usecs 512 ethtool -A eth2 tx off rx off ethtool -A eth5 tx off rx off rx_missed_errors на eth2 случается даже в те моменты когда трафик спадает до минимума счетчик rx_missed_errors мониторится раз в минуту по SNMP поэтому вижу что счетчик раз в минуту прибавил + 2800 Характер появления - не предсказуемый и резкий (за минуту) через сервер пролетает 190000 пакетов/сек загрузка soft_irq по ядрам - не более 2-3% в чнн че можно глянуть или покрутить, как мониторить с чем могет это быть связано? у кого с чем был rx_missed_errors связан? Edited September 6, 2019 by QWE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted September 6, 2019 Была аналогичная проблема, иногда отягчаемая еще и флапом порта на сетевухе с DAC. Перевели все на нормальную оптику и забыли про все эти чудеса. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted September 6, 2019 +1 к выбросить даг-кабель, MM-трансиверы SFP+ стоят копейки. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted September 23, 2019 В 06.09.2019 в 06:45, vurd сказал: +1 к выбросить даг-кабель, MM-трансиверы SFP+ стоят копейки. заменили DAC на SFP+ модули, проблема остается Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted September 23, 2019 А что показывает статистика со стороны коммутатора? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted September 23, 2019 13 минут назад, jffulcrum сказал: А что показывает статистика со стороны коммутатора? #show interface tenGigabitEthernet 1/50 TenGigabitEthernet1/50 is up, line protocol is up (connected) Hardware is Ten Gigabit Ethernet Port, address is 7081.0564.5b71 (bia 7081.0564.5b71) Description: ##BRD1-10G-ETH2## MTU 1546 bytes, BW 10000000 Kbit, DLY 10 usec, reliability 255/255, txload 11/255, rxload 14/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 10Gb/s, link type is auto, media type is 10GBase-LR input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters 1y43w Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 30 second input rate 560008000 bits/sec, 78386 packets/sec 30 second output rate 434443000 bits/sec, 110248 packets/sec 2440081015454 packets input, 2084171614135343 bytes, 0 no buffer Received 695607888 broadcasts (6718137 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 46154 overrun, 0 ignored 0 input packets with dribble condition detected 3582127690193 packets output, 1950313681369269 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted September 23, 2019 Увеличьте буферы rx, максимум вроде как 4096 для этой карты Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted September 27, 2019 mpstat -P ALL 1 проверьте, не упирается ли одно из ядер по нагрузке Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted October 24, 2019 (edited) В 23.09.2019 в 17:13, jffulcrum сказал: Увеличьте буферы rx, максимум вроде как 4096 для этой карты увеличил, месяц без ошибок как увеличение до 4096 повлияло? и что было причиной? ядро процессора медленное и не успевает разгребать пакеты? Ставить процессор погорячее? буфер размером 2048 переполнялся микроберстами? В 27.09.2019 в 03:22, nuclearcat сказал: mpstat -P ALL 1 проверьте, не упирается ли одно из ядер по нагрузке с усреднением 1 сек Soft irq максимальноая загрузка одного из ядер не превышает 5-6%, прерывания по всем ядрам размазаны(загрузка до 1-4%), но одно выпирает до 5-6% Edited October 24, 2019 by QWE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted October 24, 2019 Высокий PPS, скорее всего, буфер переполнялся. Кстати, заодно проверьте счетчик со стороны коммутатора, если В 23.09.2019 в 15:52, QWE сказал: 46154 overrun вырос значительно, значит у вас с PPS уже и порт Cisco не справляется. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted October 24, 2019 если у драйвера увеличить InterruptThrottleRate=10000,10000,10000,10000 помогло бы? учитывая что нагрузка на процессор не высокая ? или будут пропадения пакетов в трудно диагностируемом месте? порт Cisco 10Гбит/с , счетчик overrun не увеличился за месяц Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted October 24, 2019 Прерывания никуда не деваются, он просто объединяются в пачки, чтобы на каждый фрейм не дергать. 43 минуты назад, QWE сказал: счетчик overrun не увеличился за месяц Радуемся жизни. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted October 24, 2019 (edited) 44 минуты назад, jffulcrum сказал: Прерывания никуда не деваются, он просто объединяются в пачки, чтобы на каждый фрейм не дергать. Пачки поменьше сделать, чаще проц дергать прерываниями, чаще буфер очищать. Edited October 24, 2019 by QWE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
big-town Posted March 20, 2021 (edited) В моем случае помогло отключение FlowDirector-а ethtool -K ethX ntuple on, решение нашел здесь https://sourceforge.net/p/e1000/bugs/383/. Точнее наоборот включение. ethtool -C ethX rx-usecs 0 tx-usecs 0 уменьшение этих значений увеличивает загрузку на CPU, но снижает потери пакетов. Так же в новых драйверах есть глюк который не позволяет использовать количество очередей карты равное количеству ядер на процессорах. Такое поведение было допустимо на ядрах 3.2. Уже на 3.13 количество очередей должно быть равно количеству ядер одного процессора. Даже если карта не привязана к конкретной NUMA-е. Edited March 22, 2021 by big-town Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 7, 2022 Увеличилась нагрузка и снова появились rx_missed_errors. Обе сетевые карты X520-DA2 включены к NUMA0(CPU0) # cat /sys/class/net/eth5/device/numa_node 0 # cat /sys/class/net/eth2/device/numa_node 0 Вылечилось так вместо /usr/src/ixgbe-5.1.3/scripts/set_irq_affinity 4-7 eth2 стало /usr/src/ixgbe-5.1.3/scripts/set_irq_affinity 0-3 eth2 Пакеты с сетевух X520-DA2 стали обрабатываться одним процессором, второй (CPU1) стоит в сторонке. Есть способ как eth2 прибить к numa1? или это есть проблема многопроцессорных систем для использования в качестве роутера? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nixx Posted December 7, 2022 (edited) В 07.12.2022 в 23:11, QWE сказал: Есть способ как eth2 прибить к numa1 и перекинуть прерывания на CPU1? или это есть проблема многопроцессорных систем для использования в качестве роутера? дык переткните сетевуху в pci-слот, висящий на CPU1, и всех делов... (ну если такой слот распаян на плате. а то есть у меня печальный DL160 Gen8, у которого все слоты на CPU0 повешены) upd: модель материнки напишите. Edited December 7, 2022 by nixx Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 7, 2022 В 08.12.2022 в 00:20, nixx сказал: дык переткните сетевуху в pci-слот, висящий на CPU1, и всех делов... (ну если такой слот распаян на плате. а то есть у меня печальный DL160 Gen8, у которого все слоты на CPU0 повешены) понятно, надо смотреть спеку на мать и шасси. такой еще вопрос. допустим переткну сетевушку в слот который разведен на CPU1 и прерывания с нее перевешу на него. В планках памяти какого CPU (будет) храниться таблица маршрутизации для выполнения route lookup (поиск наилучшего маршрута) ? или linux умный - он хранит две одинаковые таблицы маршрутизации (ТМ) и размещает ТМ в планках памяти каждого CPU? (чтобы процы не мешали друг другу) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted December 8, 2022 Цитата или linux умный - он хранит две одинаковые таблицы маршрутизации (ТМ) и размещает ТМ в планках памяти каждого CPU? (чтобы процы не мешали друг другу) Таблица хранится в одном месте, и в многопроцессорных системах обращение к ней из другой NUMA будет связано с соответствующими накладными расходами. Там же еще будет веселье, когда данные надо перекидывать с сетевухи на одном процессоре на сетевуху на другом процессоре, тут все ништяки от больших процессорных кэшей пойдут гулять лесом. Потому для маршрутизаторов и BRAS оптимальнее ставить однопроцессорные сервера. И уже в рамках одного процессора выбирать баланс между количеством ядер/размерами кэшей/частоте. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 8, 2022 mobo supermicro X8DTU Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nixx Posted December 9, 2022 блин. это же 1366 сокет. был неправ, не получится такого. ps: может, есть смысл проапгрейдиться хотя бы до 2011 сокета? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 9, 2022 Что лучше для роутинга - процессор 4 ядра с частотой 3,6ГГц или 6 ядер с частотой 3,46ГГц для имеющегося сокета 1366 двухпроцессорной материнки? на какой лучше проапгрейдиться? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sdy_moscow Posted December 9, 2022 Лучше для роутинга большие кэши и много ядер и всё на одном проце + быстрая память и шины. i7 и i9 последних поколений в "максималочке". Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted December 9, 2022 Кстати, на амд кто нить роутит у себя? Там и частоты, и ядра, и кеши вроде как завезли, ну и ценник сответственно... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 9, 2022 "ps: может, есть смысл проапгрейдиться хотя бы до 2011 сокета? " что в нем будет лучше чем то что есть у меня сейчас? ddr4 ? и производительные процы? Недостатки архитектуры в системе на 2011 сокете с двумя NUMA так же остаются? форум наг сломался - не нажимается "Ответить с цитированием", Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted December 9, 2022 Как понять сколько процессор при маршрутизации ждет оперативную память? фулл вью в КЭШ ни какого процессора не влезет Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...