Jump to content

FreeBSD нагрузка на проц при обработке трафика


Recommended Posts

Дано: 
сервер Dell PowerEdge R710
проц 2* Intel Xeon E5620 
оператива 2* 8Gb
сетевая 4-портовая broadcom NetXtreme II BCM5709

На железе стоит VMware ESXi 5.1.0

в нутри крутится виртуалка с FreeBSD 12.2
на которой работает билинг интернет провайдера "Ubilling: 1.1.3 rev 7831"
один выход сетевухи смотрит на абонов, второй в инет
входящий канал инета 1гигабит, 

при трафике в +/- 800Mb 2 ядра проца загружаются в 100% и прокачать больше трафика биллинг не может

нагрузка по обработке очередей сетевых карт висит на 2 ядрах  kernel {if_io_tqg_5} и kernel {if_io_tqg_7},
остальные ядра проца по большей части простаивают.

Кто что посоветует в решении данной проблемки ? 
Как можно размазать нагрузку между ядрами? 

Link to post
Share on other sites
5 часов назад, Nejron сказав:

Дано: 
сервер Dell PowerEdge R710
проц 2* Intel Xeon E5620 
оператива 2* 8Gb
сетевая 4-портовая broadcom NetXtreme II BCM5709

На железе стоит VMware ESXi 5.1.0

в нутри крутится виртуалка с FreeBSD 12.2
на которой работает билинг интернет провайдера "Ubilling: 1.1.3 rev 7831"
один выход сетевухи смотрит на абонов, второй в инет
входящий канал инета 1гигабит, 

при трафике в +/- 800Mb 2 ядра проца загружаются в 100% и прокачать больше трафика биллинг не может

нагрузка по обработке очередей сетевых карт висит на 2 ядрах  kernel {if_io_tqg_5} и kernel {if_io_tqg_7},
остальные ядра проца по большей части простаивают.

Кто что посоветует в решении данной проблемки ? 
Как можно размазать нагрузку между ядрами? 

Это уже не billing а все в 1 флаконе ) самая большая проблема  это 

VMware и небось там ещё и нат ). Биллинг оставьте в виртуалке хотя хе зачем не знаю а вот нас отдельно.

Link to post
Share on other sites
6 hours ago, Nejron said:
... и прокачать больше трафика биллинг не может ...

 

Стало аж любопытно, а зачем вы трафик прокачиваете чрез биллинг?

 

PS И вопрос форуму - как отключить этот глючный форумный редактор?

Link to post
Share on other sites

Сетевуху внутрь VM не прокидывал, да и хотелось бы этого избежать, 
и да, uBilling у меня со всем сопутствующим висит в одном "флаконе",

тут , так сказать, концепция "бомжпровайдера" ,
у меня вообще вся инфраструктура висела на 2-х "десктопнух ПК", и только пару месяцев назад поставил третий, 

на одном висит 1С, почтовик и PFsense для локалки, 
на втором IPTV, zabex, сайт,

ну и на третий вынес биллинг, 
все висит в VMware 5.1, для возможности быстрого разврачивания любой виртуалки на любом и ПК в случае нештатной ситуации.

и да, я по факту не админ, максимум еникей/монтажник,
"админ" сбежал лет 5 назад, когда я только устраивался на работу, 
вот с тех времен я и пытаюсь что то как то изучать и улучшать )))
 

Да и моя деятельность не сильно то интересует начальство, лиш бы не в минус работал, 
так что денег по факту нет ))) работаю скорее по личному интересу, а в другом случае закрылись бы уже давно.

Да и проблем с трафиком раньше почти не было, 
тут нагрузка подскочила в связи с карантином и удаленной работой/учебой, 
так что мне по сути раскинуть бы нагрузку по обработке сети по разным ядрам и зыбить о проблемках с сервачком еще на пару лет )))

  • Haha 2
Link to post
Share on other sites

top -SPHa   Посмотри какие процессы грузят. Но по любому собери другую машину для прогона трафика. 

И у тебя уже 800М , поэтому ставь сразу 4 гиговых порта , чтобы lagg настроить. Или же немножко трафика оставь на билинге, остальное на НАС.

Ну и сетевая  Intel 82576  как по мне лучше.

 

Edited by vovchokig
Link to post
Share on other sites
9 часов назад, Nejron сказал:

да, я по факту не админ, максимум еникей/монтажник,
"админ" сбежал лет 5 назад, когда я только устраивался на работу, 

Беги оттудова. Чего там делать-то? Ну разве шо зп очень гуд.

  • Like 1
Link to post
Share on other sites

все таки 1 гиг тянется, это у меня забекс сильно усреднял статистику
при снятии ее со свича, 
хотя вопрос с загрузкой ядер остается ,
 

 

Edited by Nejron
Link to post
Share on other sites

сделал тестовую виртуалку на том же железе и на той же фряхе

но с другой виртуальной сетевухой которая поддерживает TSO4,
нагрузка уменьшилась на половину,
30-32% при прогоне трафика в 800мб при включенном TSO4
и 60-65% при том же трафике при выключеном, 
но все равно нагрузка одет по одному ядру

Link to post
Share on other sites

фря не дружит с многопоточностью сетевой когда она в виртуалке

либо пробрасывать сетевку, либо на baremetal ставить

Link to post
Share on other sites

походу таки да, 
на тестовой виртуалке нагрузка небольшая только при тесте iperf3 с BSD 
а в обратную сторону (BSD как сервер iperf3) та же херня с упором в потолок, 
ща поексперименть с линой, может там что то по другому выстрелит, 
или я себе в голову выстрелю

Link to post
Share on other sites
9 часов назад, bit сказал:

Тюнят гики ;)

А еще нищеброды, 
хотя вполне возможно что из за безисходности в последствии они становятся гиками ))
 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • By FantoM_EscapE
      Хочу перенести свій білінг NODENY із фізичного сервера на віртуальний. Шукаю адміна який зможе допомогти у цьому питанні, так як нашого адміна банально призвали до війська. Вся схема на даний момент робоча, маю доступи до всього. Потрібно проінсталити на новішу версію FREEBSD, бо на моїй 10 річній вже не працюють нові SSL сертифікати. Кого зацікавила дана пропозиція - прошу у приватні повідомлення. обсудимо ціну і строки. або пишіть на будь-який месенджер 0677792091
    • By scaran
      Обращаюсь за помощью к коллективному разуму.
      Попалась сеть в условное обслуживание. В ней есть проблема в рандомный период времени - не важно  хоть в час пик, хоть ночью, хоть раз неделю, но может и  пару раз за день происходит следюущие: перестают быть доступны все шлюзы абонентов с реальными IP (соответсвтенно и все абоненты  по всех 9 сетках /24). Пинги проскакивают один из 20. Тоесть недоступость почти 100%. Прекращается все если не трогать максимум за 15 минут, но бывает и за минут 5 попустит. Ну или лечится ребутом одного агрегационного узла на 48 даунлинков (extreme x450a-24x, soft 15.3.5.2 patch1-12 + dgs-3120-24sc прошивка последняя). Все менеджмент сетки при этом живут (шлюзы менеджмента на другом сервере висят и  естественно в каждая в разных вланах). Бывает помогает потушить один из домов оптического свитча и шлюзы отпускает, но иногда тушение одного порта помогает, иногда другой, конкретно грешить на какой-то дом не могу. С этого агрегационного узла все даунлинки только на управляемые домовые свитчи, тупых линков нет, медных колбас тоже. Всего в сети 9 агрегационных узлов с 20-30 даунлинками в сторону домов. Все агрегационные узлы стекаются в ящик extreme bd 8810, с него линк на фрибсд сервак где и висят все шлюзы для абонентов. Схема чистая звезда, петли на аплинках исключены.
      Суммарно по сети примерно 150 управляемых коммутаторов, тупых линков  в виде медик+тупарь штук 30-40 (в основном где по 1-2 абонента, в дальнейшем и эти  точки заменятся на управляемые).
      На каждом агрегационном узле своя менеджмент сеть /24 и свой абонская сеть тоже /24 с реальниками. Адреса все статикой. Тоесть суммарно 9 менеджмент подсетей и 9 подсетей абонских  (конечно же разбито все на 9 вланов все и в менеджменте и отдельными 9 вланов в абонских сетках)
      Схема набросками следующая:


      Оптические коммутаторы на агрегациях следующие:
      Extreme x450a-24x, Dlink DGS-3120-24sc, Edge-Core ES4612, Dlink DGS-3612G, TP-Link TL-SG5412F
      Коммутаторы на домах таких моделей:
      Extreme summit x150, x250, x350, x450, 200-24, 200-48
      Dlink DES-3200-10/28
      Cisco WS-C2960-24TC-L, 8TC-L, WS-C2950, WS-C2940, WS-C3560/3750
      Huawei S2326TP-EI/S2309
      TP-Link TL-SL2210WEB
      В % соотношениях: экстримов 75%, хуавеев 10%, длинки 10%, циски 5%

      На всех экстримах  и длинках включен dos-protect. На всех свитчах включены шторм контроли, бродкаст/мультикаст контроли с огричением в 5% от пропускной спосбности порта, джамбофреймы везде отключены. dhcp snooping включены везде. loopdetect на всех абонских поратх включены. IGMP snooping тоже везде включен, но по нему я заметил, что когда на аксес свитчах чекаю igmp snooping querier , то querier-ом как правило выступают абоны, а это я так понимаю не есть хорошо и квериером должен быть онли шлюз. но вряд ли это ложит шлюзы. В логах свичтей и на графиках я не вижу ни всирания цпу ничего. Но заметил странную тенденцию - на аксес свитчах в момент начала вот такого флуда даунятся как правило линки на конце которых висят,  опростят меня боги - наши "любимые" тенды. Проблема не в них - я ради инетереса тушил вообще все порты с тендами (их суммарно по сети не более полутора десятка, флуд все равно происходил).
      Единственное что на свитчах не настроено это защита arp spoofing. Похоже ли это на бомбежку арпами от которых шлюзы с ума сходят? Понятно что правильнее будет зеркалить трафик на ящике  BD 8810 c порта уходящего на сервак freebsd с шлюзами абонентов (я так и планирую делать), но пока едет сборка на х99 китайце под тазик, то приходится только догадки догадывать. Ах да,  доступа на сервак с фрибсд у меня отсутствует, потому зайти на него и глянуть что у него в логах я не могу. Куда еще можно покопать?, у кого может мысля проявится, может что на аксесах подонастраивать, но я уже не представляю что.
    • By rusol
      Добрый вечер.
       
      Есть от провайдера блок реальных адресов, к примеру 100.1.1.192/26
       
      Раньше сеть была в одном влане и записи в /etc/rc.conf были такие:

       
      ifconfig_ix0="inet 192.168.0.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP ifconfig_ix0_alias0="inet 100.1.1.193 netmask 255.255.255.192" # Шлюз для пользователей с реальными IP  
      После чего стала задача часть пользователей переводить во вланы тоже с разделением на локальные IP и реальные, первый влан создал где-то пару лет назад и все работает:
       
      ifconfig_vlan1="vlan 1 vlandev ix0 192.168.1.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP во Влане 1 ifconfig_vlan1_alias0="inet 100.1.1.248 netmask 255.255.255.248" # Шлюз для пользователей с реальными IP  во Влане 1  
      И вот стоит задача создать еще один влан, делаю по аналогии с вланом 1, только маску смещаю назад:
       
      ifconfig_vlan2="vlan 2 vlandev ix0 192.168.1.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP во Влане 2 ifconfig_vlan2_alias0="inet 100.1.1.246 netmask 255.255.255.254" # Шлюз для пользователей с реальными IP во Влане 2  
      Когда я внес это в /etc/rc.conf и прописал команду:
       
      ifconfig vlan2 create  
      Все заработало.
       
      Но как только перезагрузился сервер, перестали работать реальные IP без вланов, в первом влане и во втором. Не пойму что не так делаю, возможно я с маской подсети что-то недопонимаю...
    • By rusol
      Добрый вечер.
       
      Есть от провайдера блок реальных адресов, к примеру 100.1.1.192/26
       
      Раньше сеть была в одном влане и записи в /etc/rc.conf были такие:

       
      ifconfig_ix0="inet 192.168.0.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP ifconfig_ix0_alias0="inet 100.1.1.193 netmask 255.255.255.192" # Шлюз для пользователей с реальными IP  
      После чего стала задача часть пользователей переводить во вланы тоже с разделением на локальные IP и реальные, первый влан создал где-то пару лет назад и все работает:
       
      ifconfig_vlan1="vlan 1 vlandev ix0 192.168.1.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP во Влане 1 ifconfig_vlan1_alias0="inet 100.1.1.248 netmask 255.255.255.248" # Шлюз для пользователей с реальными IP  во Влане 1  
      И вот стоит задача создать еще один влан, делаю по аналогии с вланом 1, только маску смещаю назад:
       
      ifconfig_vlan1="vlan 1 vlandev ix0 192.168.1.1 netmask 255.255.255.0" # Шлюз для пользователей с локальным IP во Влане 2 ifconfig_vlan1_alias0="inet 100.1.1.246 netmask 255.255.255.254" # Шлюз для пользователей с реальными IP во Влане 2  
      Когда я вношу это в /etc/rc.conf и прописал команду:
       
      ifconfig vlan2 create  
      Все заработало.
       
      Но как только перезагрузился сервер, перестали работать реальные IP без вланов, в первом влане и во втором. Не пойму что не так делаю, возможно я с маской подсети что-то недопонимаю...
×
×
  • Create New...