Перейти к содержимому
Калькуляторы

Высокая загрузка CPU Linux PPPoE BRAS

On 3/27/2020 at 8:36 PM, kayot said:

HZ=

1000

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 21.03.2020 в 11:57, kayot сказал:

Есть несколько серверов, одинаковые аппаратно, xeon E3-1220. 

Первый древней сборки, лохматое ядро 2.6.31.9, rp-pppoe.

Второй свежий, ядро 4.9.180, accel-ppp 1.10.3

На новом сервере 4ех портовая карты 82580 IGB в бонде 2 по 2. На днях добавили к ним еще и бортовые в поисках узких мест - сейчас 2 бонда по 3 порта.

На старом пара броадкомов бортовых + пара intel PT, те же 2 бонда по 2 порта.

НАТа нет, точнее минимальный на 80ый порт для заглушек. Основной трафик идет мимо conntrack, записей ~10k.

Одинаковый шейпер htb+ifb и фаервол.

 

При этом, при одинаковом числе сессий и трафике загрузка CPU серверов отличается раза в 3-4.

Текущий момент: 1500 сессий, 1G трафик. В час пик пропорционально хуже.

 

Древний 10%.


mpstat -P ALL 1 5
Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
Average:     all    0.66    0.00    0.41    0.05    0.31    8.27    0.00    0.00   90.31
Average:       0    1.19    0.00    0.60    0.40    0.60    9.92    0.00    0.00   87.30
Average:       1    0.81    0.00    0.60    0.00    0.20    7.26    0.00    0.00   91.13
Average:       2    0.00    0.00    0.00    0.00    0.21    8.14    0.00    0.00   91.65
Average:       3    0.62    0.00    0.21    0.00    0.21    7.88    0.00    0.00   91.08

Новый 30%


mpstat -P ALL 1 5
Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
Average:     all    0.73    0.00    0.31    0.10    0.00   27.72    0.00    0.00   71.13
Average:       0    0.87    0.00    0.00    0.00    0.00   32.97    0.00    0.00   66.16
Average:       1    0.42    0.00    0.21    0.21    0.00   26.43    0.00    0.00   72.73
Average:       2    0.81    0.00    0.81    0.00    0.00   23.48    0.00    0.00   74.90
Average:       3    0.82    0.00    0.21    0.00    0.00   28.34    0.00    0.00   70.64

Отключение шейпера и фаервола уменьшает загрузку на древнем до единиц процентов, а на новом незначительно, до 15%.

Т.е. вообще без ничего, без iptables/shaper/NAT при 1г трафика имеем 15% soft IRQ.


Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
Average:     all    0.36    0.00    0.31    0.16    0.00   15.16    0.00    0.00   84.00
Average:       0    0.40    0.00    0.00    0.40    0.00   20.61    0.00    0.00   78.59
Average:       1    0.41    0.00    0.61    0.00    0.00   15.54    0.00    0.00   83.44
Average:       2    0.21    0.00    0.21    0.00    0.00   10.52    0.00    0.00   89.06
Average:       3    0.43    0.00    0.43    0.00    0.00   13.68    0.00    0.00   85.47

Perf top ничего интересного не говорит

С шейпером и фаерволом


   8.74%  [ip_tables]          [k] ipt_do_table
   3.87%  [pppoe]              [k] pppoe_rcv
   3.14%  [kernel]             [k] fib_table_lookup
   2.53%  [kernel]             [k] _raw_spin_lock
   1.91%  [kernel]             [k] __dev_queue_xmit
   1.79%  [cls_u32]            [k] u32_classify
   1.77%  [kernel]             [k] irq_entries_start
   1.74%  [kernel]             [k] apic_timer_interrupt
   1.64%  [kernel]             [k] __netif_receive_skb_core
   1.48%  [kernel]             [k] nf_iterate

Без них


   6.81%  [pppoe]              [k] pppoe_rcv
   4.72%  [kernel]             [k] fib_table_lookup
   3.53%  [kernel]             [k] _raw_spin_lock
   3.42%  [kernel]             [k] irq_entries_start
   2.79%  [kernel]             [k] __dev_queue_xmit
   2.13%  [kernel]             [k] __netif_receive_skb_core
   1.96%  [igb]                [k] igb_clean_tx_irq
   1.76%  [kernel]             [k] __memcpy
   1.56%  [kernel]             [k] __skb_flow_dissect
   1.47%  [kernel]             [k] __local_bh_enable_ip
   1.38%  [kernel]             [k] ip_finish_output2
   1.29%  [kernel]             [k] vlan_do_receive
   1.22%  [kernel]             [k] __skb_get_hash
   1.18%  [igb]                [k] igb_tx_map

На днях старый один из "старых" серверов ребутнулся - новый в час пик впал в кому при 2500 сессий и трафике до 2Гбит с загрузкой CPU под 70% и тормозами.

 

Куда копать? Ядро, accel-ppp?

 

Да, и там и там из потенциально могущего влиять есть quagga с активным ripd. Маршруты на бордер отдает.

наблюдали один и тот же accel-ppp на centos6.x c древним ядром и gentoo c ядром 4.4, свежее ядро работает куда шустрее

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть в работе несколько BRASов (6), до всех модернизаций в каждом сервере стояли 2 портовые медные интеловские сетевые карты. Было решено расширить 4 наса из 6 с помощью добавления в каждый по сетевой карте с последующим объединением 2 портов одной сетевой в бонд. Софт брасов не новый, едем на том что было ранее настроено. Как итог сейчас имеем: при кратковременном скачке электричества по районам - насы где стоят карты с бондами становятся раком (циклический ребут). Насы где нет бондинга, софт такой же как и в остальных, не уходят в ребут. Думали что проблема может быть из-за бонда, заменили на одном из насов на сетевую x520, проблема осталась. Малейший скачек света тянет в циклический ребут. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

12 часов назад, inspire_87 сказал:

есть в работе несколько BRASов (6), до всех модернизаций в каждом сервере стояли 2 портовые медные интеловские сетевые карты. Было решено расширить 4 наса из 6 с помощью добавления в каждый по сетевой карте с последующим объединением 2 портов одной сетевой в бонд. Софт брасов не новый, едем на том что было ранее настроено. Как итог сейчас имеем: при кратковременном скачке электричества по районам - насы где стоят карты с бондами становятся раком (циклический ребут). Насы где нет бондинга, софт такой же как и в остальных, не уходят в ребут. Думали что проблема может быть из-за бонда, заменили на одном из насов на сетевую x520, проблема осталась. Малейший скачек света тянет в циклический ребут. 

Вы приложите сюда скрины загрузки и логи /var/log/...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

soft_irq возможно что то ожидает и спят потоки в блокировках пока счетчик тикает.
Наверное тюнить нужно дальше и проверять наложение прерываний, может один проц с чем то медленным работает, а другие от сетевухи его ждут.
В общем тип очереди, размеры и таймеры сетевухи менять и смотреть изменения, афинить прерывания по процессорам и т.п.
soft_irq это участок работы - взять(или отправить в карту) в\из skb буфера на сколько я представляю, хотя может движение пакетов тоже через soft_irq ядро оформляет.
Еще тюнинг самого планировщика процессов и обработчиков прерываний важен, там не только таймер тиков но и таймеры между процессами и время на работу. Может soft_irq часто прерываются и много времени на переключения уходит.
Планировщик то явно изменился в этих ядрах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще подумал, смотрите на RAM производительности, так как есть возможность там плохой контролер или сам DIMM. У меня бил такой случай с supermicro.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всегда говорили что на линуксе сервера не тормозят.

На деле снесите линукс и поставьте винду, проверьте производительность сервера разнообразными тестами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 часов назад, Saab95 сказал:

снесите линукс и поставьте винду, проверьте производительность

А почему не микротик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, kayot сказал:

А почему не микротик?

Потому что микротик легко справится с этой задачей. А в темах, где про него пишут плохое и рекомендуют ПС с линуксом, говорят что на них линукс даже на древнем железе прокачает больше. А тут оказывается что не прокачает. И даже советы тюнинга были высказаны, что подкрутить там надо, тут надо и т.п. А на микротике все работает из коробки. То есть эта тема совсем не красит линукс.

 

Ах да, на микротике, если он на ПС стоит, даже на встроенных риалтеках можно гиг прокачивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Saab95 сказал:

А тут оказывается что не прокачает.

У тебя даже троллинг какой-то тупой, не пиши тут больше пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то я поздно тему увидел. У меня примерно аналогичная ситуация. Вообще в работе есть BRAS на Q9550 под Debian 7 на ядре 3.13. Шуршит себе потихоньку. 1.5К пользователей тащит, 2Gbps пережевывает.при этом имеет 25-30% процентов нагрузки. При чем при переходе с 2.6 ветки нагрузка вроде как выросла. Ставлю Debian 10, нагрузка еще возрастает ну и всякие мелкие неприятности начинаю ловить. На E3-1220 мне кажется легко можно пережевать 5Gbps и более

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 часов назад, Biss сказал:

ну и всякие мелкие неприятности начинаю ловить.

Какие?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Повышение нагрузки, soft lockup. Как раз сейчас пытаюсь понять где проблема между accell и ipt-netflow, они начинают конкурировать за ядра процессора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня нечто подобное было при переходе с ядра 3.10 на 4.х. Оказалось, что accel-ppp окукливается от наплыва dhcpv6-запросов клиентского оборудования. Тут два пути - или таки отвечать на запросы и раздавать что просят, или фильтровать на подлете. Если у вас не ipoe или не используется ipv6, то тупо на доступе зафильтруйте пакеты с dst 33:33:00:01:00:02, чтобы они не доходили до БРАСа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я по итогу новый БРАС собрал на дебиане с 10G картой 82599 и ядром 4.19 - тестовый полет отличный, загрузка при 700 сессий/500мбит - 1%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

On 7/10/2020 at 4:41 PM, kayot said:

полет отличный

Так требуестя :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.07.2020 в 05:48, taf_321 сказал:

У меня нечто подобное было при переходе с ядра 3.10 на 4.х. Оказалось, что accel-ppp окукливается от наплыва dhcpv6-запросов клиентского оборудования. Тут два пути - или таки отвечать на запросы и раздавать что просят, или фильтровать на подлете. Если у вас не ipoe или не используется ipv6, то тупо на доступе зафильтруйте пакеты с dst 33:33:00:01:00:02, чтобы они не доходили до БРАСа.

а что происходило с accel-ем? зависал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 22.09.2020 в 04:07, 911 сказал:

а что происходило с accel-ем? зависал?

Зависал не сам процесс accel-ppp, а окукливалось ядро, заDoS'енное dhcpv6 запросами по AF_PACKET.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дабы не плодить темы. Есть брас с accel pppoe. Процессор fx-8350, сетевые интел i350. созданы интерфейсы vlan, в каждом из которых от 20 до 200 абонентов.При 1.9Г трафика 50% процессора съедается softirq. Так же как и нагрузка на ядра распределяется неравномерно.  Выше качать не имеет смысла - начинаются лаги у абонентов. Сейчас рассматриваем вариант отказа от vlan интерфейсов и перевода всех абонентов на физику ака 1й влан. Поможет ли такое решение? Терминация и нат находятся на другом тазике, который на таком же железе спокойно обслуживает 3 браса. Поэтому грешим на виртуальные интерфейсы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 минут назад, gothkiller сказал:

Так же как и нагрузка на ядра распределяется неравномерно.

i7 +  Intel X520 Вам поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@sdy_moscow в двух словах нефиг заниматься кучей многопортовок и переходить на 10г комутацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@gothkiller 

Абсолютно верно. Бондинги на больших потоках очень затратная штука.

Ну и нефиг роутеры строить на древних атлонах, оно тормозное чудовище в плане прогона трафика и уступает даже i5 4ех ядерным под s1155.

 

Для истории - новые БРАСы на дебиане и X520 10g молотят трафик без каких либо чудес.

E3-1240 3к сессий частично с НАТом, трафиком 4-5г и загрузкой 50%, в теории можно до 10g дотянуть.

E5-2670v3 4к сессий частично НАТ, с трафиком 5-6g и загрузкой 15% - можно и на 40g замахиваться. Тем более что в тот же сокет можно в 1.5 раза мощнее CPU v4 воткнуть и память 2133 на 2400 заменить..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

24 minutes ago, kayot said:

и нефиг роутеры строить на древних атлонах

Когда-то думали что 8 ядер решают. Но нагрузки выросли, а железо то же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@gothkiller 

Решают быстрые шины/кеши/память..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

41 минуту назад, gothkiller сказал:

@sdy_moscow в двух словах нефиг заниматься кучей многопортовок и переходить на 10г комутацию?

Совершенно верно, x520 из китая + i7 > gen7 + accel + 8Гигов = 5-6 Гигов без потерь. В деньгах это меньше 1000 у.е.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.