QWE Опубликовано 5 сентября, 2019 (изменено) · Жалоба два процесора 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 связан? Изменено 6 сентября, 2019 пользователем QWE Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
taf_321 Опубликовано 6 сентября, 2019 · Жалоба Была аналогичная проблема, иногда отягчаемая еще и флапом порта на сетевухе с DAC. Перевели все на нормальную оптику и забыли про все эти чудеса. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vurd Опубликовано 6 сентября, 2019 · Жалоба +1 к выбросить даг-кабель, MM-трансиверы SFP+ стоят копейки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 23 сентября, 2019 · Жалоба В 06.09.2019 в 06:45, vurd сказал: +1 к выбросить даг-кабель, MM-трансиверы SFP+ стоят копейки. заменили DAC на SFP+ модули, проблема остается Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 23 сентября, 2019 · Жалоба А что показывает статистика со стороны коммутатора? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 23 сентября, 2019 · Жалоба Увеличьте буферы rx, максимум вроде как 4096 для этой карты Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 27 сентября, 2019 · Жалоба mpstat -P ALL 1 проверьте, не упирается ли одно из ядер по нагрузке Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 24 октября, 2019 (изменено) · Жалоба В 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% Изменено 24 октября, 2019 пользователем QWE Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 24 октября, 2019 · Жалоба Высокий PPS, скорее всего, буфер переполнялся. Кстати, заодно проверьте счетчик со стороны коммутатора, если В 23.09.2019 в 15:52, QWE сказал: 46154 overrun вырос значительно, значит у вас с PPS уже и порт Cisco не справляется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 24 октября, 2019 · Жалоба если у драйвера увеличить InterruptThrottleRate=10000,10000,10000,10000 помогло бы? учитывая что нагрузка на процессор не высокая ? или будут пропадения пакетов в трудно диагностируемом месте? порт Cisco 10Гбит/с , счетчик overrun не увеличился за месяц Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 24 октября, 2019 · Жалоба Прерывания никуда не деваются, он просто объединяются в пачки, чтобы на каждый фрейм не дергать. 43 минуты назад, QWE сказал: счетчик overrun не увеличился за месяц Радуемся жизни. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 24 октября, 2019 (изменено) · Жалоба 44 минуты назад, jffulcrum сказал: Прерывания никуда не деваются, он просто объединяются в пачки, чтобы на каждый фрейм не дергать. Пачки поменьше сделать, чаще проц дергать прерываниями, чаще буфер очищать. Изменено 24 октября, 2019 пользователем QWE Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
big-town Опубликовано 20 марта, 2021 (изменено) · Жалоба В моем случае помогло отключение 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-е. Изменено 22 марта, 2021 пользователем big-town Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 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? или это есть проблема многопроцессорных систем для использования в качестве роутера? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nixx Опубликовано 7 декабря, 2022 (изменено) · Жалоба В 07.12.2022 в 23:11, QWE сказал: Есть способ как eth2 прибить к numa1 и перекинуть прерывания на CPU1? или это есть проблема многопроцессорных систем для использования в качестве роутера? дык переткните сетевуху в pci-слот, висящий на CPU1, и всех делов... (ну если такой слот распаян на плате. а то есть у меня печальный DL160 Gen8, у которого все слоты на CPU0 повешены) upd: модель материнки напишите. Изменено 7 декабря, 2022 пользователем nixx Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 7 декабря, 2022 · Жалоба В 08.12.2022 в 00:20, nixx сказал: дык переткните сетевуху в pci-слот, висящий на CPU1, и всех делов... (ну если такой слот распаян на плате. а то есть у меня печальный DL160 Gen8, у которого все слоты на CPU0 повешены) понятно, надо смотреть спеку на мать и шасси. такой еще вопрос. допустим переткну сетевушку в слот который разведен на CPU1 и прерывания с нее перевешу на него. В планках памяти какого CPU (будет) храниться таблица маршрутизации для выполнения route lookup (поиск наилучшего маршрута) ? или linux умный - он хранит две одинаковые таблицы маршрутизации (ТМ) и размещает ТМ в планках памяти каждого CPU? (чтобы процы не мешали друг другу) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
taf_321 Опубликовано 8 декабря, 2022 · Жалоба Цитата или linux умный - он хранит две одинаковые таблицы маршрутизации (ТМ) и размещает ТМ в планках памяти каждого CPU? (чтобы процы не мешали друг другу) Таблица хранится в одном месте, и в многопроцессорных системах обращение к ней из другой NUMA будет связано с соответствующими накладными расходами. Там же еще будет веселье, когда данные надо перекидывать с сетевухи на одном процессоре на сетевуху на другом процессоре, тут все ништяки от больших процессорных кэшей пойдут гулять лесом. Потому для маршрутизаторов и BRAS оптимальнее ставить однопроцессорные сервера. И уже в рамках одного процессора выбирать баланс между количеством ядер/размерами кэшей/частоте. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 8 декабря, 2022 · Жалоба mobo supermicro X8DTU Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nixx Опубликовано 9 декабря, 2022 · Жалоба блин. это же 1366 сокет. был неправ, не получится такого. ps: может, есть смысл проапгрейдиться хотя бы до 2011 сокета? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 9 декабря, 2022 · Жалоба Что лучше для роутинга - процессор 4 ядра с частотой 3,6ГГц или 6 ядер с частотой 3,46ГГц для имеющегося сокета 1366 двухпроцессорной материнки? на какой лучше проапгрейдиться? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sdy_moscow Опубликовано 9 декабря, 2022 · Жалоба Лучше для роутинга большие кэши и много ядер и всё на одном проце + быстрая память и шины. i7 и i9 последних поколений в "максималочке". Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
No_name Опубликовано 9 декабря, 2022 · Жалоба Кстати, на амд кто нить роутит у себя? Там и частоты, и ядра, и кеши вроде как завезли, ну и ценник сответственно... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 9 декабря, 2022 · Жалоба "ps: может, есть смысл проапгрейдиться хотя бы до 2011 сокета? " что в нем будет лучше чем то что есть у меня сейчас? ddr4 ? и производительные процы? Недостатки архитектуры в системе на 2011 сокете с двумя NUMA так же остаются? форум наг сломался - не нажимается "Ответить с цитированием", Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 9 декабря, 2022 · Жалоба Как понять сколько процессор при маршрутизации ждет оперативную память? фулл вью в КЭШ ни какого процессора не влезет Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...