Jump to content

Recommended Posts

Posted

Всем добрый день. Недавно столкнулся с интересной проблемой: есть комп Core i7 930, 6Gb DDR3-1600, Intel PRO/1000 PT Dual Port, на нем стоит FreeBSD 7.3-STABLE, mpd5.5, дрова yandex последние, терминация PPPoE, шейп ng_car. Иногда один из процессов ng_queue выжирает до 100% одного из CPU, нагрузка при этом следующая:

 

top -SP

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   15 root        1 171 ki31     0K    16K CPU3    3  71:13 95.56% idle: cpu3
   13 root        1 171 ki31     0K    16K RUN     5  69:06 92.87% idle: cpu5
   17 root        1 171 ki31     0K    16K CPU1    1  67:13 81.69% idle: cpu1
   11 root        1 171 ki31     0K    16K RUN     7  63:41 77.39% idle: cpu7
   12 root        1 171 ki31     0K    16K CPU6    6  58:56 72.17% idle: cpu6
   14 root        1 171 ki31     0K    16K RUN     4  54:10 65.77% idle: cpu4
   16 root        1 171 ki31     0K    16K CPU2    2  50:51 61.28% idle: cpu2
   18 root        1 171 ki31     0K    16K CPU0    0  50:15 59.57% idle: cpu0
10946 root        1  43    -     0K    16K WAIT    1  19:18 27.49% em1_rx_kthread_2
   45 root        1  43    -     0K    16K CPU7    7  19:31 27.29% em1_rx_kthread_1
   44 root        1  43    -     0K    16K CPU4    4  19:29 26.86% em1_rx_kthread_0
10947 root        1  43    -     0K    16K WAIT    6  19:17 26.76% em1_rx_kthread_3
   40 root        1  43    -     0K    16K WAIT    0  18:59 25.20% em0_rx_kthread_0
6982 root        1  43    -     0K    16K WAIT    2  18:44 23.97% em0_rx_kthread_2
6983 root        1  43    -     0K    16K WAIT    2  18:45 23.88% em0_rx_kthread_3
   41 root        1  43    -     0K    16K WAIT    0  19:01 23.49% em0_rx_kthread_1
   20 root        1 -32    -     0K    16K WAIT    3  12:06  6.40% swi4: clock sio
86600 root        1  96    0 79876K 35588K select  0   1:45  0.98% mpd5
   43 root        1 -68    -     0K    16K WAIT    0   2:11  0.29% em1_txcleaner
    4 root        1 -68    -     0K    16K sleep   5   1:32  0.00% ng_queue2
    7 root        1 -68    -     0K    16K sleep   2   1:22  0.00% ng_queue5
   39 root        1 -68    -     0K    16K WAIT    7   1:03  0.00% em0_txcleaner
    2 root        1 -68    -     0K    16K sleep   0   1:01  0.00% ng_queue0
    3 root        1 -68    -     0K    16K sleep   0   0:52  0.00% ng_queue1
    9 root        1 -68    -     0K    16K sleep   0   0:36  0.00% ng_queue7
    6 root        1 -68    -     0K    16K sleep   5   0:33  0.00% ng_queue4
    8 root        1 -68    -     0K    16K sleep   6   0:18  0.00% ng_queue6
    5 root        1 -68    -     0K    16K sleep   6   0:12  0.00% ng_queue3

 

# ifconfig |grep ng|wc -l
    1243

 

netstat -h 1

 

   packets  errs      bytes    packets  errs      bytes colls
      579K     0       343M       679K     0       443M     0
      592K     0       352M       697K     0       455M     0
      585K     0       348M       687K     0       454M     0
      584K     0       355M       684K     0       454M     0
      597K     0       355M       698K     0       464M     0
      587K     0       352M       687K     0       457M     0
      587K     0       352M       691K     0       460M     0
      570K     0       341M       675K     0       447M     0

 

 

# vmstat -z|grep tG
NetGraph items:            72,    65565,      104,      796, 166617025,        0
NetGraph data items:       72,    32805,        1,    10484, 1394356793,        0

 

при этом 870 Мбит/с трафика.

 

Когда один из ng_queue выростает до 100% начинается потеря пакетов, в это время в vmstat -z:

 

NetGraph items: 72, 65565, 104, 796, 166617025, 0

NetGraph data items: 72, 32805, 9574, 4286, 1394356793, 0

 

Временно помогло dev.em.0.rx_int_delay=900, dev.em.0.rx_abs_int_delay=2000... При этом на сетевухах все хорошо:

 

em1: Excessive collisions = 0
em1: Sequence errors = 0
em1: Defer count = 0
em1: Missed Packets = 0
em1: Receive No Buffers = 0
em1: Receive Length Errors = 0
em1: Receive errors = 0
em1: Crc errors = 0
em1: Alignment errors = 0
em1: Collision/Carrier extension errors = 0
em1: RX overruns = 0
em1: watchdog timeouts = 0
em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0
em1: XON Rcvd = 0
em1: XON Xmtd = 0
em1: XOFF Rcvd = 0
em1: XOFF Xmtd = 0
em1: Good Packets Rcvd = 725605214
em1: Good Packets Xmtd = 688318866
em1: TSO Contexts Xmtd = 0
em1: TSO Contexts Failed = 0

 

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

Posted

У меня ng_car не дружил с дровами яндекса, я выкинул дрова.

 

Гипертрейдинг - вселенское зло и заговор против человечества. Дрова от интела, cpuset в руки, em0 на cpu0, em1 на cpu 2, все остальные процессы на cpu 4-6 по вкусу.

Posted (edited)
У меня ng_car не дружил с дровами яндекса, я выкинул дрова.

 

Гипертрейдинг - вселенское зло и заговор против человечества. Дрова от интела, cpuset в руки, em0 на cpu0, em1 на cpu 2, все остальные процессы на cpu 4-6 по вкусу.

Советуете сделать machdep.hyperthreading_allowed=0? Edited by Zohan
Posted

Вчера вкрутил ET-шку, объединил её в lagg и завел на неё внешку, PT-шку тоже объединил и пустил внутрь сети. Впринципе это не помогло, только отсрочило час "Х". Нагрузка перед конвульсиями была такая:

 

netstat -h 1
      948K     0       596M       915K     0       583M     0
      951K     0       604M       916K     0       592M     0
      926K     0       591M       894K     0       578M     0
      947K     0       598M       911K     0       584M     0
      907K     0       598M       870K     0       580M     0
      944K     0       601M       910K     0       588M     0
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
      943K     0       597M       908K     0       586M     0
      970K     0       612M       934K     0       603M     0
      951K     0       602M       919K     0       596M     0
      948K     0       602M       916K     0       594M     0
      944K     0       605M       911K     0       593M     0
      1.0M     0       672M       996K     0       666M     0
      1.0M     0       644M       971K     0       640M     0
      988K     0       629M       954K     0       626M     0
      990K     0       633M       955K     0       630M     0
      976K     0       632M       940K     0       628M     0
      967K     0       632M       933K     0       626M     0
      981K     0       634M       950K     0       635M     0
      977K     0       632M       943K     0       630M     0

 

Это около 1300 человек онлайна, в тор-е при этом свободно было процентов по 60 каждого ядра. Затем, когда людей стало больше 1400, ситуация повторилась, тоесть снова ng_queue забрал 100% одного ядра. Пробовать без ng_car будет напряжно, все тарифы прийдется переделывать, сейчас все скорости высылаются радиусом. Попробую сперва без яндексов, если не даст результата - тогда буду откатывать все это на dummynet...

Posted
и желательно mpd5 сдаунгрейдить до mpd4
А чем 4 лучше 5? 4-ку вроде уже особо не правят же?

Тем, что поставил и оно работает годами. Чего там править-то ?

Posted

год отработал мпд 5.3

 

щас 5.5 работает

пока не вижу проблем

 

режу скорости ng_car

сервак жует 840\600 мегабит в пиках

~350kpps

около 3900 сессий pptp

 

дрова от яндекса

сетвухи 1000 pt

 

только использую ксеоны на ядре нетхем

Posted
сервак жует 840\600 мегабит в пиках

~350kpps

около 3900 сессий pptp

Что у Вас за тарифы такие :-) ? У меня счас 800/690 Мбит/с, чуть больше 1Мппс, 1350 человек. Пока рабтает, но вчера как только перевалило за 1400 история повторилась. Не могу понять в чем дело.
Posted

AntonS

Pps действительно много, на соседней машине нету lagg, так там pps раза в полтора меньше. Вчера снова начались проблемы, пробовал net.isr.direct=0 с патченым netisr, дал net.isr.maxthreads=8 и ng_queue сразу вернулся в норму. Не пойму никак в чем дело..

  • 5 months later...
Posted

прийдется

сервак реально в 3-4 раза хуже работает из-за мпд коллектора

пытался на горячую с тайминагами поиграться

но побарабану

грузит ng_queue

 

щас еще один сервак делаю

проверю может сделали чтобы Ipcad с ng интерфесов снимал статистику

 

если нет, прийдет ndsad пробовать

сдохший проект от нетупа, он умеет но помнится грузил проц сильно

Posted

AntonS

Для себя проблему пока решил тупо - поставил еще один сервер. Это конечно не выход, временное решение. Думаю попробовать mpd4, хотя уверенности в том, что это решит проблему нету. Если действительно проблема в ng_netflow, тогда буду пробовать его выносить на другую машину.

Posted

dsk

Тоже пришел к такому выводу. Буду пробовать с понедельника.

 

AntonS

Все и так на безлимитах, тут другая причина. Начальство хочет, чтобы можно было предоставить детальную статистику по абоненту, поэтому без netflow мне, к сожалению, никак.

Posted (edited)
dsk

Тоже пришел к такому выводу. Буду пробовать с понедельника.

 

AntonS

Все и так на безлимитах, тут другая причина. Начальство хочет, чтобы можно было предоставить детальную статистику по абоненту, поэтому без netflow мне, к сожалению, никак.

у меня проблема с подсчетом

кто на мегабайтных тарифах

и если счетать IPcad тупо с сетевой карты а не с ng

то выделенный Ip из пула у клиента в биллинге висит пока его кто то другой не займет

 

итог вранье в подсчете трафика, так как IPcad льет всю инфу в биллинга, а он уже раскидывает по клиентам

 

клиент отключился, а трафик сыпется

 

mpd эту проблему решил

 

если тебе просто надо детальная, ставь Ipcad и не мучийся

все прекрасно работает

Edited by AntonS
Posted

без них

локальный трафик запрещен файрволом (чтобы не грузили сервер по пусту)

а остальное все надо счетать,

сидит меньше 2% клиентов на трафике

но все таки

Posted
можно кстати acl добавить в mpd5

чтобы на безлимитных тарифах не обсчитывал тарфик?

можно, наверное, выдавать с радиуса какой-нить другой бандл, в котором нет нетфлоу

сам не попробывал :(

Posted

да тут же опять

умел бы Ipcad с ng интерфейсов читать

проблем бы не было

разные пулы для тарифов

и фильтр в Ipcad

 

тут фишка чтобы мпд не собирал статистику по свистку из радиуса при подключении к инет

 

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.