ng_car+ipfw

Обсуждаем OS FreeBSD и сервисы на ней.

Re: ng_car+ipfw

Сообщение Mechanic » 18 фев 2010, 17:23

поправил правила sysctl "net.inet.ip.fw.one_pass"=1
поставил igb 1.8.4 intel 2головы
но система всеравно оч сильно нагружена

как расчитывается kern.ipc.maxsockbuf ?
cтавлю 524288 и уже не грeзится ng_nat

текущ top -SH
Код: Выделить всё
last pid:  7230;  load averages:  2.14,  2.24,  1.87                                   up 0+00:50:26  16:19:14
124 processes: 4 running, 93 sleeping, 27 waiting
CPU:  5.0% user,  0.0% nice, 37.2% system, 23.4% interrupt, 34.4% idle
Mem: 70M Active, 651M Inact, 337M Wired, 2336K Cache, 199M Buf, 893M Free
Swap: 5120M Total, 5120M Free

  PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
    2 root     -68    -     0K     8K sleep   0  10:24 34.96% ng_queue0
   12 root     171 ki31     0K     8K RUN     0  12:10 34.28% idle: cpu0
    3 root     -68    -     0K     8K sleep   0  10:23 31.59% ng_queue1
   32 root     -68    -     0K     8K WAIT    1   4:33 16.06% irq259: igb0
   11 root     171 ki31     0K     8K RUN     1  12:35 14.06% idle: cpu1
   30 root     -68    -     0K     8K WAIT    0   4:57 13.87% irq258: igb0
   68 root     -68    -     0K     8K -       1   8:15  7.47% dummynet
   41 root     -68    -     0K     8K WAIT    1   1:27  5.37% irq264: igb1
   39 root     -68    -     0K     8K WAIT    0   2:00  4.88% irq263: igb1
  861 root       8    0 32128K 18540K wait    1   1:36  2.78% mpd5


Код: Выделить всё
vpn1# ipfw list |wc -l
      66

используются tablearg

Код: Выделить всё
vpn1# kldstat
Id Refs Address    Size     Name
 1    9 0x80400000 a85b28   kernel
 2    1 0x80e86000 1c030    if_igb.ko
 3    1 0x80ea3000 6a4e8    acpi.ko
 4    1 0x87d83000 4000     ng_mppc.ko
 5    1 0x87d87000 2000     rc4.ko

Код: Выделить всё
    2 users    Load  0.70  1.54  1.64                  Feb 18 16:21

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   82400   10012   209424    13260 1370876  count
All  224432   12524  4472232    26600          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow   16152 total
  1          43      209k   74 2186  12k  994   41      5 zfod        atapci0+++
                                                          ozfod       uhci1++ 21
40.4%Sys  26.7%Intr  1.1%User  0.0%Nice 31.9%Idle        %ozfod       uhci3 ehci
|    |    |    |    |    |    |    |    |    |    |       daefr  1993 cpu0: time
====================++++++++++++++                        prcfr  2023 igb0 256
                                        26 dtbuf       30 totfr  2024 igb0 258
Namei     Name-cache   Dir-cache    100000 desvn          react  2016 igb0 259
   Calls    hits   %    hits   %     26524 numvn          pdwak       igb0 260
       5       5 100                  5146 frevn          pdpgs  2020 igb1 261
                                                          intrn  2024 igb1 263
Disks  ad10                                        151576 wire   2006 igb1 264
KB/t   0.00                                         72144 act         igb1 265
tps       0                                        405252 inact    54 em0 irq266
MB/s   0.00                                          2336 cache  1992 cpu1: time
%busy     0                                       1368540 free
                                                   204096 buf


при этом интерфейсов
Код: Выделить всё
vpn1# ifconfig |grep ng| wc -l
     896

Код: Выделить всё
vpn1# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     79843     0   39193608      82121     0   49426255     0
     75332     0   36752202      78016     0   46222968     0
     74110     0   36009371      76500     0   45539169     0
     74389     0   36123381      77065     0   45226497     0
     78552     0   36958804      80618     0   45723578     0
     75555     0   36930223      78230     0   46301027     0
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ng_car+ipfw

Сообщение Mechanic » 18 фев 2010, 18:11

есть еще одна машина , на которой настройки практически одинаковые, в качестве шейпер используется ng_car+ipfw в отличии о вышеописанной машинки, так вот ее top
Код: Выделить всё
last pid: 92841;  load averages:  0.81,  1.42,  1.46                              up 0+02:17:03  17:08:38
92 processes:  2 running, 66 sleeping, 24 waiting
CPU:  0.6% user,  0.0% nice, 57.6% system, 32.1% interrupt,  9.7% idle
Mem: 32M Active, 215M Inact, 55M Wired, 60K Cache, 108M Buf, 666M Free
Swap: 3072M Total, 3072M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
    2 root        1 -68    -     0K     8K sleep   69:01 58.40% ng_queue0
   31 root        1 -68    -     0K     8K WAIT    29:40 25.39% irq260: igb1
   11 root        1 171 ki31     0K     8K RUN     25:22 13.96% idle: cpu0
   26 root        1 -68    -     0K     8K WAIT     4:07  2.49% irq257: igb0
   12 root        1 -32    -     0K     8K WAIT     1:48  0.39% swi4: clock sio
   24 root        1 -68    -     0K     8K WAIT     0:51  0.10% irq256: igb0
   29 root        1 -68    -     0K     8K WAIT     0:30  0.10% irq259: igb1
   15 root        1 -16    -     0K     8K -        0:20  0.00% yarrow
  671 unbound     2   4    0 28728K 18096K kqread   0:15  0.00% unbound
  732 root        1  44    0  9360K  5892K select   0:10  0.00% snmpd
   25 root        1 -68    -     0K     8K -        0:02  0.00% igb0 txq
   30 root        1 -68    -     0K     8K -        0:02  0.00% igb1 txq
    4 root        1  -8    -     0K     8K -        0:02  0.00% g_up
  648 root        1  44    0  3212K  1284K select   0:02  0.00% syslogd
    5 root        1  -8    -     0K     8K -        0:01  0.00% g_down
   50 root        1 -64    -     0K     8K WAIT     0:01  0.00% irq14: ata0
  490 root        1  44    0  4016K  2536K select   0:01  0.00% ospfd
  484 root        1  44    0  3880K  2144K select   0:01  0.00% zebra
   61 root        1 -16    -     0K     8K sdflus   0:00  0.00% softdepflush
    3 root        1  -8    -     0K     8K -        0:00  0.00% g_event
   60 root        1  20    -     0K     8K syncer   0:00  0.00% syncer
  833 root        1  44    0  5904K  3528K select   0:00  0.00% sendmail
  815 www         1   4    0  3592K  2288K kqread   0:00  0.00% nginx
92801 root        1  44    0  3524K  1796K RUN      0:00  0.00% top
92781 admin       1   8    0  3492K  1548K wait     0:00  0.00% sh
   14 root        1 -44    -     0K     8K WAIT     0:00  0.00% swi1: net


проц утилизируется практически на 90%-100%
трафика бегает
Код: Выделить всё
vpn2# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     20051     0   10706636      20955     0   13113045     0
     20245     0   10443159      21585     0   13301831     0
     20082     0   10601823      21147     0   13351008     0
     21363     0   11519105      22331     0   14194453     0
     21678     0   11519511      22580     0   14380451     0
     20161     0   10524004      21304     0   13305644     0

кол-во абонов в онлайне
Код: Выделить всё
vpn2# ifconfig | grep ng | wc -l
     242

Код: Выделить всё
    1 users    Load  0.63  1.12  1.32                  Feb 18 17:10

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   42476    4048   147480     4244  681312  count
All   92256    6016  4391808     7376          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow    8983 total
             29       15k    3  478 6968  592             zfod        ata0 irq14
                                                          ozfod  2010 cpu0: time
46.6%Sys  31.6%Intr  0.0%User  0.0%Nice 21.8%Idle        %ozfod  1756 igb0 256
|    |    |    |    |    |    |    |    |    |    |       daefr  1737 igb0 257
=======================++++++++++++++++                   prcfr       igb0 258
                                        41 dtbuf          totfr  1658 igb1 259
Namei     Name-cache   Dir-cache     70151 desvn          react  1822 igb1 260
   Calls    hits   %    hits   %       930 numvn          pdwak       igb1 261
                                        53 frevn          pdpgs
                                                          intrn
Disks   ad0                                         56104 wire
KB/t   0.00                                         33292 act
tps       0                                        219932 inact
MB/s   0.00                                            60 cache
%busy     0                                        681252 free
                                                   110848 buf

Код: Выделить всё
vpn2# ngctl list |wc -l
    1725
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ng_car+ipfw

Сообщение root » 19 фев 2010, 16:35

на vpn1 больше туннелей и пакетов в секунду

с недавнего времени так же столкнулись с проблемой "ng_queueХ" с ng_nat`ом
процессы
Код: Выделить всё
 1243 root        1 -68    -     0K     8K sleep  0  64:46  6.69% ng_queue4
 1241 root        1 -68    -     0K     8K sleep  6  68:25  6.30% ng_queue2
 1239 root        1 -68    -     0K     8K sleep  3  65:21  4.98% ng_queue0
 1242 root        1 -68    -     0K     8K sleep  3  67:36  4.69% ng_queue3
 1244 root        1 -68    -     0K     8K sleep  0  64:12  4.59% ng_queue5
 1246 root        1 -68    -     0K     8K sleep  4  67:47  4.49% ng_queue7
 1245 root        1 -68    -     0K     8K sleep  0  66:12  4.49% ng_queue6
 1240 root        1 -68    -     0K     8K sleep  3  64:45  4.30% ng_queue1

начинают сильно загружаться и когда подходят к 100% то начинаются конкретные лаги и потери у пользователей
но доходя до 100% оно на секунду "замирает". а потом опять сбрасывается почти в 0% и потихоньку начинает расти
такое впечатление, что очередь забивается, а потом высвобождается
пока "лекарства" найдено не было
пакетов 50-60К через 1- ифейс, ифейсов 2, трафик по 2-м ифейсам 400-600 мбит/с

ты попробуй поиграться вот с этими параметрами:
Код: Выделить всё
net.inet.ip.fastforwarding=1
net.inet.icmp.icmplim=50
net.inet.tcp.msl=7500
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1   
kern.ipc.somaxconn=4096
net.inet.ip.intr_queue_maxlen=5120
kern.ipc.maxsockbuf=8388608
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0


а так же с
Код: Выделить всё
net.isr.direct
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_car+ipfw

Сообщение Mechanic » 19 фев 2010, 18:44

net.isr.direct игрался, при 0 системе совсем плохо, swi1:net сразу идет вверх, но при этом общее кол-во пакетов прходящих через систему ниже раза в 1,5
вот при 0
Код: Выделить всё
last pid: 25955;  load averages:  1.90,  2.74,  3.07                                           up 0+12:16:49  17:27:48
113 processes: 4 running, 83 sleeping, 26 waiting
CPU:  6.2% user,  0.0% nice, 33.3% system, 41.8% interrupt, 18.7% idle
Mem: 163M Active, 12M Inact, 177M Wired, 2032K Cache, 51M Buf, 1599M Free
Swap: 5120M Total, 5120M Free

  PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   13 root     -44    -     0K     8K CPU0    0   0:25 48.58% swi1: net
    2 root     -68    -     0K     8K sleep   1 252:46 38.18% ng_queue0
    3 root     -68    -     0K     8K sleep   0 252:41 36.38% ng_queue1
   12 root     171 ki31     0K     8K RUN     0 238:27 28.47% idle: cpu0
   11 root     171 ki31     0K     8K RUN     1 269:14  8.69% idle: cpu1
25953 root      98    0  5756K  3104K select  1   0:00  8.59% mysql
  861 root       8    0 38272K 27240K wait    0  31:46  8.50% mpd5
25949 root      -8    0  3480K  1464K piperd  1   0:00  8.50% sh
25948 root       8    0  3516K  1408K wait    0   0:00  8.50% sh
  899 root      46    0 11180K  7448K select  0   6:40  2.78% snmpd
   30 root     -68    -     0K     8K WAIT    0  73:09  1.46% irq258: igb0
   35 root     -68    -     0K     8K WAIT    0   7:31  1.37% irq261: igb1
   32 root     -68    -     0K     8K WAIT    1  71:47  1.07% irq259: igb0
   39 root     -68    -     0K     8K WAIT    0  29:12  0.98% irq263: igb1
   41 root     -68    -     0K     8K WAIT    1  33:33  0.78% irq264: igb1

Код: Выделить всё
vpn1# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     62350     0   22619751      63502     0   29637279     0
     33821     0   15133034      36919     0   14060413     0
     62353     0   23069898      63517     0   30117653     0


вот трафик при 1
Код: Выделить всё
vpn1# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    108310     0   50957456     110658     0   61537580     0
     87542     0   47463985      85949     0   39992871     0
    104581     0   52900153     105733     0   60764187     0
    111478     0   52927752     112428     0   64353758     0
    113062     0   53866280     115646     0   66088044     0
    106319     0   50319273     108704     0   60960652     0
    104295     0   48948486     106081     0   58630300     0


из каких соображений kern.ipc.maxsockbuf=8388608 ?
как проверить сколько надо ? у меня kern.ipc.maxsockbuf: 262144
и вот этот net.inet.ip.redirect=0 , у меня при 1 - не помню что уже, но вообщем система хренова работала

параметры sysctl сейчас пересмотрю
завтра у меня приедет серверок -2ксеона, попробую на нем поиграться с оптимизацией
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ng_car+ipfw

Сообщение root » 24 фев 2010, 21:36

Mechanic писал(а):net.isr.direct игрался, при 0 системе совсем плохо

понятно, таже фигня и у меня, описание парама:
пакеты, приходящие через драйвер сетевой карты, могут обрабатываться сразу при sysctl net.isr.direct=1, либо сначала укладываться в очередь при нулевом значении этого параметра;


Mechanic писал(а):из каких соображений kern.ipc.maxsockbuf=8388608 ?

по методу "стучим в админский бубуен" :)
описание:
kern.ipc.maxsockbuf
максимальный размер TCP буфера, расчитывается 16*MAXUSERS+512, MAXUSERS указывается в ядре.


Mechanic писал(а):завтра у меня приедет серверок -2ксеона, попробую на нем поиграться с оптимизацией

попробуй конечно, посмотрим, что получится по итогу

а много у тя в через эту машину торентщиков сидит ? глянь:
Код: Выделить всё
tcpdump -ni IFACE_NAME -n udp and "ip[40:4]=0x7FFFFFFF"

много у тя такого трафика бежит ?
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_car+ipfw

Сообщение Mechanic » 28 фев 2010, 21:47

с текущим серваком нечего толком не вышло, заказал себе S3420GPLC+ Xeon X3460 , поставлю на него dual ET и попробую с оптимизацией
посмотрел трафик, да, льется его прилично, это новый торрент udp. На наге советуют дропать этот траф, но не думаю , что это правильный способ.

из каких соображений kern.ipc.maxsockbuf=8388608 ?

по методу "стучим в админский бубуен"
описание:
kern.ipc.maxsockbuf
максимальный размер TCP буфера, расчитывается 16*MAXUSERS+512, MAXUSERS указывается в ядре.


у меня стоит MAXUSERS=512. те должно получиться 8704, а у тебя по этим расчетам 524256 :( помойму оч заоблачное
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ng_car+ipfw

Сообщение root » 04 мар 2010, 13:09

Mechanic писал(а):поставлю на него dual ET

c ней под фрей траблы, заводится тока после шаманства, посему если у тя ещё есть возможность передумать, то лучше передумай
Вот почитай наш опус: Intel® Gigabit ET Dual Port Server Adapter (чип 82576) и FreeBSD
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_car+ipfw

Сообщение Mechanic » 06 мар 2010, 12:43

нету траблов, 7.2stable ее видит, только с родными дровами она работает криво, я ставил от интела 1.7.4 и 1.8.4 , с последними опции
Код: Выделить всё
dev.igb.0.enable_lro=0
dev.igb.1.enable_lro=0

не работают , нужно
Код: Выделить всё
ifconfig igb* -lro
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ng_car+ipfw

Сообщение root » 06 мар 2010, 14:46

Mechanic писал(а):не работают , нужно

ага, мы уже подправили статью на эту тему
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_car+ipfw

Сообщение Mechanic » 10 мар 2010, 21:10

запарила меня эта машинка :(
все никак не могу найти от чего связка ipfw+ng_car+ng_nat+ng_netflow+mpd5 (2) валится, а связка ipfw+dummynet+ng_nat+ng_netflow+mpd5 -работает (1)
те фактически замена шейпера с ng_car на думминет решает задачу на одинаковых машинах ?
Причем есть еще 1 машина , на которой связка ipfw+ng_car+ng_netflow без mpd5 и ng_nat работает номально

все краши системы видны здесь: http://forum.nag.ru/forum/index.php?showtopic=54562
дрова для сетевушек перебрал все вариации. ставил ЕТ, валится система и усе
сейчас обратил внимание, что в message последнее сообщение пишется em0: discard frame w/o packet header
гугль нечего вразумительного не нашел по этому поводу

Какие еще действия можно предпринять ?
есть вариант - избаваиться от серых ип (адреса получены, осталось организовать выделение)
-убрать связку ipfw+ng_car и вешать ng_car прямо на интерфейс
и .. ?
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Пред.След.

Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

cron