Jump to content
Калькуляторы

FreeBSD 7.2 ng_queue 100% загрузка.

Имеется две машины, Dell 2850, каждая с двумя зионами, 3 гига рам, сетевухи intel (встроенные). FreeBSD 7.2-RELEASE

На машинах работает мпд, и по 300-400 клиентов ( впн с прямыми ипами а так-же нат, шейпер).

В определенное время (обычно вечером, но бывает и утром-днем), начинается что:

Увеличивается пинг до внешних ресурсов (как у клиентов так и если проверять с сервера), до 200-400, причем не постоянно, а например минуту тупит, потом 10 минут может работать прекрасно, и так в течении часа-трех.

Пинг растет причем до внешних ресурсов, т.е. изнутри машина доступна. Драйвера на сетевые карточки - "яндексовские", кол-во клиентов роли не играет, может тупить и при 50 клиентах, а может и на 350 нормально работать. Отключение шейпинга не помогло.

 

Top -SP на машин в момент нормальной работы (типичная картина):

 3 root          1 -68    -     0K    16K sleep  3 469:33 21.48% ng_queue1
4 root          1 -68    -     0K    16K sleep  0 467:04 21.39% ng_queue2
5 root          1 -68    -     0K    16K sleep  2 466:11 20.07% ng_queue3
2 root          1 -68    -     0K    16K sleep  1 466:13 19.29% ng_queue0

В момент глюков:

3 root          1 -68    -     0K    16K sleep  3 469:33 100.00% ng_queue1
4 root          1 -68    -     0K    16K sleep  0 467:04 4.13% ng_queue2
5 root          1 -68    -     0K    16K sleep  2 466:11 5.07% ng_queue3
2 root          1 -68    -     0K    16K sleep  1 466:13 2.29% ng_queue0
(100% может быть и на queue1 и на *2 и тд и тп).

Loader.conf (с дефолтовым файлом кстати все те-же самые глюки):

 

kern.maxusers="512"
hw.em.rxd="2048"
hw.em.txd="2048"
hw.em.rx_int_delay=1000
hw.em.tx_int_delay=1000
hw.em.rx_abs_int_delay=2000
hw.em.tx_abs_int_delay=2000
kern.ipc.maxpipekva="400000000"
netgraph_load="YES"
ng_ipfw_load="YES"

 

sysctl.conf (с дефолтовым тоже проблемы):

 

net.graph.maxdgram=384000
net.graph.recvspace=384000
kern.ipc.maxsockbuf=4096000
kern.ipc.somaxconn=65535
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.ip.intr_queue_maxlen=1000

Edited by wsimons

Share this post


Link to post
Share on other sites

слышал мнение, что драйвера от уважаемого Яндекса в комбинации с ng_car дают непредсказуемые варианты.

инфа не проверена на 100%.

Но она есть (с)

и вы ее, кстати, подтвердили!

Edited by fenix-vt

Share this post


Link to post
Share on other sites

Вести с полей:)

 

last pid: 67973; load averages: 1.86, 2.23, 2.24 up 1+23:53:35 18:55:20

119 processes: 6 running, 96 sleeping, 17 waiting

CPU 0: 0.4% user, 0.0% nice, 5.6% system, 1.9% interrupt, 92.1% idle

CPU 1: 0.0% user, 0.0% nice, 100% system, 0.0% interrupt, 0.0% idle

CPU 2: 0.4% user, 0.0% nice, 9.8% system, 0.4% interrupt, 89.5% idle

CPU 3: 1.1% user, 0.0% nice, 4.5% system, 0.0% interrupt, 94.4% idle

Mem: 38M Active, 136M Inact, 353M Wired, 172K Cache, 316M Buf, 2444M Free

Swap: 5120M Total, 5120M Free

 

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

14 root 1 171 ki31 0K 16K CPU0 0 25.0H 94.19% idle: cpu0

11 root 1 171 ki31 0K 16K RUN 3 27.0H 92.38% idle: cpu3

4 root 1 -68 - 0K 16K CPU1 1 828:01 90.19% ng_queue2

12 root 1 171 ki31 0K 16K CPU2 2 24.8H 83.98% idle: cpu2

3 root 1 -68 - 0K 16K sleep 0 824:34 17.09% ng_queue1

5 root 1 -68 - 0K 16K sleep 3 826:59 8.06% ng_queue3

2 root 1 -68 - 0K 16K sleep 2 830:29 6.40% ng_queue0

16 root 1 -32 - 0K 16K WAIT 3 205:18 1.86% swi4: clock sio

33 root 1 43 - 0K 16K WAIT 2 316:44 1.17% em0_rx_kthread_1

32 root 1 43 - 0K 16K WAIT 2 318:26 0.68% em0_rx_kthread_0

611 root 2 44 0 43096K 14964K select 2 0:00 0.29% mpd5

Edited by wsimons

Share this post


Link to post
Share on other sites

не знаю с этим или нет связано

но если шейпить через ng_car

и использовать rate-limit

 

то исходящий в два раза больше чем ставишь

Share this post


Link to post
Share on other sites

Использую rate-limit через mpd. Режет очень четко и красиво, без какиз либо 2х

Share this post


Link to post
Share on other sites
Использую rate-limit через mpd. Режет очень четко и красиво, без какиз либо 2х
Извиняюсь, что со своим в чужой огород..

Вот такого не наблюдается?

Какое железо, что терминируете (pptp,pppoe) и сколько макс. он-лайн?

Share this post


Link to post
Share on other sites

Нет. Такого нет. Сессий вечером около 550, 75 kpps все в каждую сторону, 120-130 мбит с и-нета.

+ на нем же НАТ, mysql, шейпинг и т.д.

Intel sr1600urhs + 5570 1шт.

Edited by Hawk128

Share this post


Link to post
Share on other sites
Использую rate-limit через mpd. Режет очень четко и красиво, без какиз либо 2х
пример rate-limit напиши для какой нить скорости

какими формулами расчета normal burst и extended burst пользовался?

Share this post


Link to post
Share on other sites

Я использую для регистрации в MPD5 пользователя внешний скрипт, MPD ему при вызове скидывает первым параметром логин пользователя, скрипт обращается к базе mysql и выдает либо отказ либо пароль и параметры в радиусовском виде.

Примерно вот так это выглядит:

 

stat# ./mpd5-l.sh fortebool
RESULT:UNDEF
USER_PASSWORD:Hj;tyrjdGjkyjtXvj
FRAMED_IP_ADDRESS:200.10.0.6
MPD_LIMIT:in#6=all rate-limit 262144
MPD_LIMIT:out#6=all rate-limit 262144

Share this post


Link to post
Share on other sites

сделай

ngctl msg ng1:inet.0-0-m getconf

 

охото увидеть cbs ebs

Share this post


Link to post
Share on other sites

stat# ngctl msg ng1:inet.0-0-m getconf

Rec'd response "getconf" (4) from "[3d5c0]:":

Args: { upstream={ cbs=393216 ebs=786432 cir=3145728 greenAction=1 yellowAction=1 redAction=2 mode=2 } downstream={ cbs=393216 ebs=786432 cir=3145728 greenAction=1 yellowAction=1 redAction=2 mode=2 } }

Share this post


Link to post
Share on other sites

Имеется две машины, Dell 2850, каждая с двумя зионами, 3 гига рам, сетевухи intel (встроенные). FreeBSD 7.2-RELEASE

Обновись до STABLE

Share this post


Link to post
Share on other sites
слышал мнение, что драйвера от уважаемого Яндекса в комбинации с ng_car дают непредсказуемые варианты.

инфа не проверена на 100%.

Но она есть (с)

и вы ее, кстати, подтвердили!

опровергаю, аптайм пока 104 дня.

Share this post


Link to post
Share on other sites

Попробуем обновить до 8 версии. Посмотрим.

Share this post


Link to post
Share on other sites

а где netstat -w1 -I em0

systat -v

Попробуем обновить до 8 версии. Посмотрим.
не стоит. у 8ки своих тараканов предостаточно.

 

Share this post


Link to post
Share on other sites

Systat -v:

  3 users    Load  1.33  1.38  1.37                  Mar 19 15:07

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   51764   11428   147976    13256 2537580  count
All   87652   13060 12794216    18272          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow   23605 total
             45      107k   19  246  15k  742             zfod        atkbd0 1
                                                          ozfod       ata0 irq14
30.7%Sys   1.1%Intr  0.2%User  0.0%Nice 68.0%Idle        %ozfod       uhci0 16
|    |    |    |    |    |    |    |    |    |    |       daefr     1 uhci2 18
===============+                                          prcfr       uart0 21
                                        14 dtbuf          totfr       ehci0+ 23
Namei     Name-cache   Dir-cache    100000 desvn          react     1 amr0 irq46
   Calls    hits   %    hits   %     60992 numvn          pdwak  7035 em0 irq64
       2       2 100                 24999 frevn          pdpgs  8568 em1 irq65
                                                          intrn  2000 cpu0: time
Disks amrd0                                        346144 wire   2000 cpu1: time
KB/t  13.00                                         40880 act    2000 cpu2: time
tps       1                                        116728 inact  2000 cpu3: time
MB/s   0.01                                           108 cache
%busy     0                                       2537472 free
                                                   323360

 

netstat -w1 -I em0:

         input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
      9268     0    5853040      10213     0    7463753     0
      9059     0    4840435      10214     0    7507894     0
      8859     0    5053722       9704     0    6826882     0
      8486     0    4269060      10226     0    8017121     0
      7710     0    3440358       9177     0    7625378     0
      7051     0    3040650       8148     0    6176655     0
      7043     0    3045372       8664     0    6246443     0
      7635     0    2937392      10247     0    9351295     0
      7361     0    3054040       9137     0    7045533     0
      7647     0    3210473       9170     0    7192117     0
      7810     0    3805728       8671     0    6669942     0
      8017     0    4210453       9193     0    6409030     0
      7566     0    3563777       8690     0    6553310     0
      7822     0    3387543       9712     0    8050155     0

 

Ну и скину еще тогда, когда будет тупить.

Share this post


Link to post
Share on other sites

Решили заодно поставить в одну из машин двух портовую 1000mt, вставили, все работает пока воткнут один линк, после того, как подключаем 2 кабель - кернел паник:)

Share this post


Link to post
Share on other sites
Calls hits % hits % 60992 numvn pdwak 7035 em0 irq64

2 2 100 24999 frevn pdpgs 8568 em1 irq65

что-то очень много прерываний.

скажите серверу вот так:

sysctl dev.em.0.rx_int_delay=600
sysctl dev.em.0.tx_int_delay=600
sysctl dev.em.0.rx_abs_int_delay=1000
sysctl dev.em.0.tx_abs_int_delay=1000

sysctl dev.em.1.rx_int_delay =600
sysctl dev.em.1.tx_int_delay=600
sysctl dev.em.1.rx_abs_int_delay=1000
sysctl dev.em.1.tx_abs_int_delay=1000

И вставьте это в rc.local, из sysctl.conf знвчения устанавливаються, но не работают ;(

Цифры можете и свои подставить, плюс еще у меня в /boot/loader.conf hw.em.rxd|txd равно 4096

 

 

Share this post


Link to post
Share on other sites

Решили заодно поставить в одну из машин двух портовую 1000mt, вставили, все работает пока воткнут один линк, после того, как подключаем 2 кабель - кернел паник:)

если карта PCI-X - она только в винде понимает 2 кабеля ))

Share this post


Link to post
Share on other sites
Решили заодно поставить в одну из машин двух портовую 1000mt, вставили, все работает пока воткнут один линк, после того, как подключаем 2 кабель - кернел паник:)
если карта PCI-X - она только в винде понимает 2 кабеля ))

Ахренеть, но это похоже, так..

Аналогично полдня кувыркался на Linux с двухпортовой Intel. У меня было несколько по-другому: если в один порт воткнуть 1Г линк, а во второй 100М линк, то все работает! Если два 1Г - кернел паник нет, но оба светодиода на карте "зеленеют" (должны быть оранж., когда 1Г линк) и ifconfig показывает миллиардные числа ошибок на RX-TX. Естественно, ничего не работает.

Что примечательно, ethtool говорит, что карты в режиме 1Г.

Share this post


Link to post
Share on other sites

Ну и когда все тупит:

 

4 users    Load  2.59  2.65  2.79                  Mar 19 20:20

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   56088   11812   174872    13664 2524108  count
All   93468   13736 12822376    19912          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow   13901 total
             52       36k  665 9443 6717  599  532    466 zfod        atkbd0 1
                                                          ozfod       ata0 irq14
62.5%Sys   0.0%Intr 12.5%User  0.0%Nice 25.0%Idle        %ozfod       uhci0 16
|    |    |    |    |    |    |    |    |    |    |       daefr       uhci2 18
===============================>>>>>>>                    prcfr       uart0 21
                                        50 dtbuf          totfr       ehci0+ 23
Namei     Name-cache   Dir-cache    100000 desvn          react       amr0 irq46
   Calls    hits   %    hits   %     60991 numvn          pdwak  3392 em0 irq64
       4       4 100                 24995 frevn          pdpgs  3392 em1 irq65
                                                          intrn  1796 cpu0: time
Disks amrd0                                        353044 wire   1796 cpu1: time
KB/t   0.00                                         45544 act    1796 cpu2: time
tps       0                                        118628 inact  1729 cpu3: time
MB/s   0.00                                           108 cache
%busy     0                                       2524008 free

 

 netstat -w1 -I em0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
      4988     0    1945995       5070     0    1925069     0
      4863     0    1947668       4568     0    1806755     0
      5078     0    2125299       5063     0    1924690     0
      5073     0    2081226       4582     0    1951259     0
      5130     0    2128615       5082     0    1986826     0
      5021     0    2163842       5105     0    1909258     0
      4636     0    1723089       4074     0    1565857     0
      4226     0    1590777       4084     0    1298368     0
      4329     0    1636849       4051     0    1490275     0
      3743     0    1306374       3037     0    1092523     0
      3827     0    1215602       3546     0    1046503     0
      4126     0    1525165       4052     0    1436670     0
      3715     0    1165208       3031     0    1113545     0
      3843     0    1193790       4042     0    1335198     0
      4248     0    1556443       4057     0    1357768     0
      4001     0    1356016       3538     0    1124616     0
      4384     0    1602073       4552     0    1466516     0
      4244     0    1392418       4043     0    1393892     0
      4092     0    1349970       4033     0    1358401     0
      3981     0    1323981       3563     0    1350423     0

Share this post


Link to post
Share on other sites

Рад слышать на самом деле, может и так все. Тогда как обновимся и будут первые результаты - отпишусь.

Edited by wsimons

Share this post


Link to post
Share on other sites

7.2 ? Сейчас 7.3-PRERELEASE.

 

Что-то прерываний много. У меня на таких же ППСах на порядок меньше выходит.

 

dev.em.Х.rx_int_delay=

dev.em.Х.tx_int_delay=

dev.em.Х.rx_abs_int_delay=

dev.em.Х.tx_abs_int_delay=

 

точно повторно присваивали ? Уже после загрузки. Там баг есть, и значения во время загрузки почему-то не отрабатывают. Хотя по sysctl показываются. просто тупо еще раз те же значения присвоить.

Share this post


Link to post
Share on other sites

Повторно или нет, не уверен, т.е. в процессе работы то точно меняли, а вот с момента последнего запуска меняли или нет это врятли отвечу.

Share this post


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
Sign in to follow this