Биллинговая система Nodeny

Главная категория => Железо для нодени => Тема начата: goletsa от 11 Февраля 2010, 23:02:44



Название: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 11 Февраля 2010, 23:02:44
Сегодня столкнулся с жутким ростов пингов при использовании dummynet.

До 30-40мс. При allow ip from any to any пинг падает до 2-5мс.

При этом интересные вещи наблюдаются.

Например tasq em0\tasqem1 растут до 99% ну и даминет гдето же в этом районе.

Код:
last pid: 59122;  load averages:  3.38,  2.88,  2.84    up 0+23:58:48  23:55:34
115 processes: 9 running, 89 sleeping, 17 waiting
CPU:  2.9% user,  0.0% nice, 70.6% system,  0.0% interrupt, 26.5% idle
Mem: 216M Active, 221M Inact, 322M Wired, 380K Cache, 213M Buf, 1212M Free
Swap: 4057M Total, 4057M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   30 root        1 -68    -     0K    16K CPU0   2 990:26 98.73% em1 taskq
   54 root        1 -68    -     0K    16K CPU3   1 816:36 91.02% dummynet
   29 root        1 -68    -     0K    16K CPU1   1 868:26 85.55% em0 taskq
   11 root        1 171 ki31     0K    16K RUN    3  18.1H 49.56% idle: cpu3
   12 root        1 171 ki31     0K    16K RUN    2 761:30 21.83% idle: cpu2
   13 root        1 171 ki31     0K    16K RUN    1 524:13 13.23% idle: cpu1
   14 root        1 171 ki31     0K    16K RUN    0 440:26  9.47% idle: cpu0

netstat -w1 -Iem1
            input          (em1)           output
   packets  errs      bytes    packets  errs      bytes colls
     63312     0   39692288      62416     0   52238499     0
     60324     0   35901501      59938     0   50251272     0
     61139     0   36303543      60004     0   52622678     0
     60952     0   37933039      60075     0   50435259     0
     61454     0   37362371      60088     0   52088529     0
И это не самое пиковое время.

При отрубании шейпера же имеем:
Код:
last pid: 59149;  load averages:  2.34,  2.79,  2.82    up 1+00:01:48  23:58:34
115 processes: 8 running, 90 sleeping, 17 waiting
CPU:  2.0% user,  0.0% nice, 44.0% system,  0.0% interrupt, 54.0% idle
Mem: 216M Active, 221M Inact, 322M Wired, 380K Cache, 213M Buf, 1211M Free
Swap: 4057M Total, 4057M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   29 root        1 -68    -     0K    16K CPU0   0 870:57 84.47% em0 taskq
   11 root        1 171 ki31     0K    16K RUN    3  18.1H 79.44% idle: cpu3
   30 root        1 -68    -     0K    16K CPU2   1 993:10 74.12% em1 taskq
   12 root        1 171 ki31     0K    16K RUN    2 762:23 45.12% idle: cpu2
   14 root        1 171 ki31     0K    16K RUN    0 441:02 42.97% idle: cpu0
   13 root        1 171 ki31     0K    16K CPU1   1 524:51 23.29% idle: cpu1
   54 root        1 -68    -     0K    16K -      1 818:41 19.82% dummynet
 1186 root        4  82  -15 54028K 47424K CPU1   1  63:51  4.98% ipcad
 1571 root        1   8    0 24524K  8484K nanslp 2  55:52  4.79% perl5.8.9
 1269 root        1   8  -15 39628K 21440K nanslp 3  45:10  2.15% perl5.8.9
 1574 root        1   8    0 23308K  8048K nanslp 1  16:06  1.46% perl5.8.9


[root@router3 ~]# netstat -w1 -Iem1
            input          (em1)           output
   packets  errs      bytes    packets  errs      bytes colls
     73704     0   49893448      71250     0   61793588     0
     73977     0   45924415      73224     0   66489917     0
     76864     0   51850558      71159     0   61468444     0
     71343     0   46966963      70661     0   62475316     0
     79013     0   50484881      74106     0   72342066     0
     76710     0   50132380      74981     0   69306911     0
     72680     0   48928345      71334     0   62608152     0
     76618     0   52790723      73765     0   63986055     0

Т.е. трафик больше что поидее должно было увеличить tasq emX но они наоборот упали.

Еще интересное кино - при включении net.inet.ip.dummynet.io_fast=1 пинг растет вообще еще в 3 раза и может доходить до 100мс.

Из оптимизаций включено:
Код:
net.inet.ip.forwarding=1
net.inet.ip.fastforwarding=1

Код:
hw.em.rxd=2048
hw.em.txd=2048

Все это крутится под FreeBSD7.2/amd64, Core2Quad Q9550, Intel 9402PT, мамка на чипсете i3200.
Поидее оно должно переваривать до 100kpps но почемуто на 60-65kpps уже рост пинга и потери.

Мнения? Предложения? Можно описания ваших тазиков с пропускаемым трафиком?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Efendy от 11 Февраля 2010, 23:48:10
от net.inet.ip.dummynet.io_fast=1 был тока негатив, так что я всегда ставлю в 0

и не справляется у тебя строго сетевая, так что ее надо в первую очередь оптимизировать. Попробуй поставить получше, интел, но получше.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 12 Февраля 2010, 01:29:26
1. Обязательно прибей дамминет к самому ненагруженому ядру. Даже желательно прибивать поочереди и смотреть, на каком дамминет будет жрать меньше всего ресурсов.
2. Обязательно использовать яндексовые дрова (ПОЧИТАТЬ МАНУАЛ !!!). Оч хорошо разбрасывают нагрузку по ядрам.
3. Попробуй вот такой финт:
Код:
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fastforwarding=0
У меня (да и у многих, я вижу) вкл второй опции вызывает жуткие тормоза и загруз процов.
Я себе даже в конфиге написал  - НЕ ВКЛЮЧАТЬ! (на двух разных серверах эффект жутко отрицательный)

п.с. Intel 9402PT - совсем неплохая карта. На нее, имхо, в последнюю очередь смотрел бы.

п.п.с. А где общий нетстат ? Или весь трафик бегает туда/сюда только по ОДНОЙ сетевухе ???
75кппс - это дето 600 мбт трафа бегает ?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 12 Февраля 2010, 01:43:02
от net.inet.ip.dummynet.io_fast=1 был тока негатив, так что я всегда ставлю в 0

и не справляется у тебя строго сетевая, так что ее надо в первую очередь оптимизировать. Попробуй поставить получше, интел, но получше.

Если бы не справлялась сетевая то отключение dummynet не приводило бы к росту pps а трафик так же бы и шел с задержками\потерями.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 12 Февраля 2010, 01:47:15
1. Обязательно прибей дамминет к самому ненагруженому ядру. Даже желательно прибивать поочереди и смотреть, на каком дамминет будет жрать меньше всего ресурсов.
2. Обязательно использовать яндексовые дрова (ПОЧИТАТЬ МАНУАЛ !!!). Оч хорошо разбрасывают нагрузку по ядрам.
3. Попробуй вот такой финт:
Код:
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fastforwarding=0
У меня (да и у многих, я вижу) вкл второй опции вызывает жуткие тормоза и загруз процов.
Я себе даже в конфиге написал  - НЕ ВКЛЮЧАТЬ! (на двух разных серверах эффект жутко отрицательный)

п.с. Intel 9402PT - совсем неплохая карта. На нее, имхо, в последнюю очередь смотрел бы.

п.п.с. А где общий нетстат ? Или весь трафик бегает туда/сюда только по ОДНОЙ сетевухе ???
75кппс - это дето 600 мбт трафа бегает ?


1. Попробуемс.
2. Хм. Неигрался с ними но посмотрим что получится.
3. А что это даст? io_fast ведет только к росту пинга. или fastforwarding и дает жуткий рост tasq emX?

ps: ага, хорошая карточка.
pps: Ну есть еще em0 но загрузка на ней не сильно отличается от em1, это даже в top видно. Сумарный kpps там 140 на 150 гдето при отключенном даминете
Завтра когда нагрузка будет выложу.
Трафик в пиках в районе 450-500мбит.



Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 12 Февраля 2010, 02:21:37
Цитировать
fastforwarding и дает жуткий рост tasq emX

У меня именно так.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 12 Февраля 2010, 20:06:40
3. Попробуй вот такой финт:
Код:
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fastforwarding=0
У меня (да и у многих, я вижу) вкл второй опции вызывает жуткие тормоза и загруз процов.
Я себе даже в конфиге написал  - НЕ ВКЛЮЧАТЬ! (на двух разных серверах эффект жутко отрицательный)
Мда.

Код:
 109342  3070   76447338     106755     0   76197748     0
    111560  2900   78515117     108404     0   78011204     0
    112018  2723   79518572     109098     0   79065229     0
    107746  2821   74376558     105056     0   74075802     0
    107882  2314   75128713     105003     0   74764838     0
    110064  2709   76670180     106920     0   76106543     0
    110431  3003   76812599     107483     0   76198566     0
    108887  2730   76403054     105757     0   75886023     0

И пинг через сервер 40мс с жуткими потерями
Код:
 1. 10.5.240.2                                    0.0%    97    0.3   0.4   0.3   1.2   0.2
 2. 10.5.240.1                                    4.2%    96   41.0  40.7  36.6  45.7   1.6
 3. gateway.tinconet.ru                           4.2%    96   41.9  41.7  38.2  53.3   2.5
 

При выключенном io_fast и fastforwarding:
Код:
    123482   517   85978306     120870     0   85448578     0
    122337   396   85232431     119866     0   84971443     0
    122317   516   85482659     119113     0   84609707     0
    122734   472   84694565     120105     0   84334884     0
    123468   665   86450724     120464     0   85958895     0
    124621   350   88076467     121574     0   87612537     0
    125215   455   87547303     122037     0   86962124     0

Код:
1. 10.5.240.2                                    0.0%    33    2.4   0.4   0.2   2.4   0.4
 2. 10.5.240.1                                    0.0%    32   37.0  37.2  27.4  46.8   5.8
 3. gateway.tinconet.ru                           0.0%    32   42.1  41.5  28.4  54.7   7.7

Код:
30 root        1 -68    -     0K    16K CPU3   3  28.3H 99.02% em1 taskq
   54 root        1 -68    -     0K    16K CPU0   0  27.3H 93.95% dummynet
   29 root        1 -68    -     0K    16K CPU2   2  24.7H 90.97% em0 taskq
   13 root        1 171 ki31     0K    16K RUN    1  17.4H 81.54% idle: cpu1
   12 root        1 171 ki31     0K    16K RUN    2  25.1H  6.59% idle: cpu2
 1186 root        5  81  -15 72460K 65800K RUN    2   0:00  6.30% ipcad
   14 root        1 171 ki31     0K    16K RUN    0 855:10  3.71% idle: cpu0
 1269 root        1   8  -15 39628K 21440K nanslp 1  84:53  2.29% perl5.8.9
 1571 root        1   4    0 24524K  8484K sbwait 1 104:05  0.93% perl5.8.9
 1057 bind        7   4    0   223M   188M kqread 2  11:30  0.24% named

fastforwarding=1

Код:
 125594   396   86462719     122825     0   85972233     0
    128522   489   89239415     125699     0   88643131     0
    127412    21   89249792     124696     0   88894335     0
    129502   453   90818071     126847     0   90397411     0
    127664   492   87860744     124479     0   88135976     0
    127616   717   87397671     124072     0   88143165     0
    127753   194   88618736     124244     0   90149813     0
    126550   547   88731323     123971     0   88752246     0
    125822   720   86447062     122604     0   87367031     0
    125039   583   86571649     122021     0   87986569     0

Код:
  30 root        1 -68    -     0K    16K CPU3   3  28.4H 99.02% em1 taskq
   54 root        1 -68    -     0K    16K CPU0   0  27.3H 94.87% dummynet
   29 root        1 -68    -     0K    16K CPU2   2  24.7H 91.99% em0 taskq
   13 root        1 171 ki31     0K    16K RUN    1  17.5H 81.79% idle: cpu1
   12 root        1 171 ki31     0K    16K RUN    2  25.1H  5.76% idle: cpu2
 1186 root        4  83  -15 58124K 52304K CPU2   2 114:30  4.83% ipcad
   14 root        1 171 ki31     0K    16K RUN    0 855:14  2.93% idle: cpu0
 1269 root        1   8  -15 39628K 21440K nanslp 1  84:59  2.54% perl5.8.9
 1571 root        1   4    0 24524K  8484K sbwait 1 104:07  0.78% perl5.8.9
 1574 root        1   4    0 23308K  8048K sbwait 1  28:46  0.20% perl5.8.9

Код:
1. 10.5.240.2                                    0.0%    12    0.3   0.5   0.3   1.0   0.2
 2. 10.5.240.1                                    0.0%    12   28.7  35.7  26.9  49.2   7.4
 3. gateway.tinconet.ru                           0.0%    12   48.7  41.5  29.4  55.6   9.9
 

Вот например когда я отрубаю dummynet:
 
Код:
191777     0  148521912     189372     0  148038463     0
    193734     0  150269701     191298     0  149627942     0
    192930     0  146657783     191216     0  146323833     0
    191757     0  148694970     189943     0  148361286     0
    194104     0  151162808     192417     0  150797218     0
    189091     0  145433401     187308     0  145053319     0
    195345     0  153444148     193677     0  153080851     0
    194438     0  152138512     193005     0  151808025     0

Код:
 13 root        1 171 ki31     0K    16K RUN    1  17.5H 81.74% idle: cpu1
   30 root        1 -68    -     0K    16K -      3  28.4H 79.74% em1 taskq
   29 root        1 -68    -     0K    16K CPU2   2  24.8H 75.10% em0 taskq
   14 root        1 171 ki31     0K    16K RUN    0 855:41 72.07% idle: cpu0
   12 root        1 171 ki31     0K    16K RUN    2  25.1H 22.75% idle: cpu2
   54 root        1 -68    -     0K    16K -      0  27.3H 18.60% dummynet
   11 root        1 171 ki31     0K    16K RUN    3  35.0H 18.31% idle: cpu3
 1186 root        4  84  -15 58124K 52304K select 0 114:38 10.21% ipcad
 1269 root        1   8  -15 39628K 21440K nanslp 1  85:03  2.39% perl5.8.9
 1571 root        1   8    0 24524K  8484K nanslp 1 104:10  2.10% perl5.8.9
 1574 root        1   8    0 23308K  8048K nanslp 1  28:48  1.56% perl5.8.9
 1057 bind        7   4    0   223M   188M kqread 1  11:31  0.10% named

Код:
 1. 10.5.240.2                                    0.0%    14    0.4   0.5   0.3   1.1   0.2
 2. 10.5.240.1                                    0.0%    14    0.6   0.9   0.5   1.8   0.4
 3. gateway.tinconet.ru                           0.0%    14    0.9   1.0   0.7   1.9   0.3
 


Везде 10.5.240.1 - железяка над которой производится издевательство.

Типичный трафик:
Код:
 systat -ifstat
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   ||||||||||||||||

      Interface           Traffic               Peak                Total
            lo0  in      0.000 KB/s          0.042 KB/s            5.513 MB
                 out     0.000 KB/s          0.042 KB/s            5.513 MB

            em1  in     31.953 MB/s         32.979 MB/s            4.027 TB
                 out    51.319 MB/s         51.474 MB/s            4.682 TB

            em0  in     49.913 MB/s         51.441 MB/s            4.571 TB
                 out    31.449 MB/s         32.476 MB/s            3.869 TB


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 13 Февраля 2010, 00:13:28
Трафик  примерно такой же. В пике может допрыгивать до гига суммарно ин+аут на входящем ифейсе.
Две строчки из моего поста ранее из моего же конфига.

А потери пакетов потому, что весь поток обрабатывается одним ядром и оно в полке.
И судя по топу, яндеховые дрова ты НЕ ставил.
А на гиговых скоростях без этих дров никуда.

п.с. 190 кппс - довольно неплохо, имхо.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 13 Февраля 2010, 01:43:02
Я понимаю но я упираюсь в даминет а не в сетевые.
Попробую когда будет второй сервер поиграться с яндексовыми - может и выгорит дело.
Только похоже их забросили, последний аплейт больше года назад.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 13 Февраля 2010, 03:04:51
Пересобрать ядро и проверить ночью вроде много времени не занимает.
В любом случае, добро пожаловать на Наг. Там МНОГО чего можно взять по тюнингу фри.

п.с. А че их обновлять ? старые дрова em такой фишки не имеют в отличие от новых под igb.
п.п.с. в любом случае - дело то хозяйское ))


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Andrey Zentavr от 14 Февраля 2010, 04:13:37
Когда-то я настраивал сервер сети Глобалнет - там была такая-же проблема с дамминетом - он жрал уж ну очень много ресурсов. Пляски с бубном были долгие, фря тоже стояла 64битная. Даже не помню как побороли.
1) Стояла какая-то одна из последних мамок и АМДшный четырёхкотловый камень. Обновил Биос на мамке - выставил правильный тип процессора. До этого проц был Unknown. Стало легче.
2) через cvsup обновил порты и /usr/sys - пересобрал ядро в версию p4 (см. uname -a )
3) Поставил хорошую серверную Интел-сетевушку PCI-express (модель не помню, доступа к серверу уже нет)
4) Отключил нафиг поллинг и поставил Яндекс-драйвера
5) Вроде как делал тюнинг sysctl.conf и /boot/loader.conf

К сожалению конфиги выложить не могу, по вышеуказанной причине. Есть тут на форуме некий glat, может быть поделиться с Вами информацией.



Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 14 Февраля 2010, 21:49:39
Ну, вот топ, ифстат и нетстат с моего сервака во время, близкое к чнн.

ифстат:
Код:
em1  in     62.600 MB/s         67.542 MB/s           29.109 TB
     out    37.013 MB/s         37.020 MB/s           16.499 TB

em0  in     37.537 MB/s         37.590 MB/s           16.763 TB
     out    62.347 MB/s         67.514 MB/s           29.059 TB

нетстат:
Код:
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    130415     0  100011715     128842     0   99223383     0
    135888     0  104109235     134130     0  103344729     0
    124786     0   94939533     123141     0   94296268     0
    131358     0  101191163     129383     0  100168256     0
    129951     0  100520984     128025     0   99844785     0
    139150     0  108857294     137751     0  108148776     0
    138890     0  107154708     137096     0  106556676     0
    136565     0  107626319     135285     0  107061128     0
    132032     0  102638832     130090     0  101981478     0
    133607     0  104902770     132217     0  104143197     0
    131708     0  103622927     129564     0  102662460     0

и топ в это же время:
Код:
last pid: 13627;  load averages:  3.17,  3.24,  3.33              up 9+18:09:56  21:40:31
137 processes: 11 running, 111 sleeping, 1 zombie, 14 waiting
CPU:  0.0% user,  0.0% nice, 70.5% system,  0.0% interrupt, 29.5% idle
Mem: 138M Active, 2062M Inact, 476M Wired, 1040K Cache, 214M Buf, 1272M Free
Swap: 4062M Total, 4062M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   27 root          1  43    -     0K    16K RUN    1  66.0H 65.92% em0_rx_kthread_0
   31 root          1  43    -     0K    16K CPU2   2  63.0H 65.67% em1_rx_kthread_0
   32 root          1  43    -     0K    16K RUN    3  63.0H 64.01% em1_rx_kthread_1
   28 root          1  43    -     0K    16K CPU1   1  66.0H 60.94% em0_rx_kthread_1
   42 root          1 -68    -     0K    16K CPU0   0  94.1H 42.97% dummynet
   14 root          1 171 ki31     0K    16K RUN    0 125.3H 31.84% idle: cpu0
   11 root          1 171 ki31     0K    16K RUN    3 145.7H 23.05% idle: cpu3
   12 root          1 171 ki31     0K    16K RUN    2 141.0H 20.95% idle: cpu2
   13 root          1 171 ki31     0K    16K RUN    1 136.5H 19.58% idle: cpu1

Это я к чему - мой первый пост не от балды писАлся.
А яндеховыми дровами сейчас не пользуется только ленивый админ (если, конечно, стоят не меганавороченые сетевухи на игб - там свои дрова уже хорошо обкатаны)


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: VitalVas от 15 Февраля 2010, 07:53:56
на сколько мне извесно. яндекс пользуется фрьой в качестае веб-серверов и карточками em
и как извесно в яндекса большая нагрузка


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 15 Февраля 2010, 21:14:52
Мм .. немного не в тему, но все таки.
У кого нибуть через ОДИН шлюз (шейпер + нат) на одном ифейсе суммарно (ин+аут) больше гига трафа пробегает ??

Просто вот последнюю неделю наблюдаю, что, вообщем то, неслабая железка выше 150 кппс и 1100 ин+аут трафа както не льет через себя.
Загрузка близка к максимуму (90%).
Проц - Ксеон 5460 + пару Интел Про 1000 сетевок.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Andrey Zentavr от 17 Февраля 2010, 14:54:23
Загрузка близка к максимуму (90%).
Проц - Ксеон 5460 + пару Интел Про 1000 сетевок.
Проц Ксеон стоит на проблемной машине?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 17 Февраля 2010, 23:01:21
Ну я бы не сказал, что она СИЛЬНО проблемная, но все равно неприятно / не совсем понятно.
Да, Ксеон стоит там.

Апд.
1200 трафа и 160 кппс


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 18 Февраля 2010, 04:32:33
ну чтож, поставил яндексоидные дрова, бум ждать вечера.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 18 Февраля 2010, 20:18:47
Таже хрень.
включени io_fast - пинг растет в 3 раза и появляются ошибки.

Цитировать
top -S
last pid: 16983;  load averages:  7.07,  6.17,  5.89                                                                                  up 0+15:51:01  21:15:25
128 processes: 12 running, 99 sleeping, 17 waiting
CPU:  1.5% user,  0.0% nice, 98.5% system,  0.0% interrupt,  0.0% idle
Mem: 202M Active, 81M Inact, 166M Wired, 512K Cache, 26M Buf, 1521M Free
Swap: 4057M Total, 4057M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   35 root        1  43    -     0K    16K CPU0   2 415:38 82.42% em1_rx_kthread_0
   36 root        1  43    -     0K    16K CPU1   2 415:19 82.13% em1_rx_kthread_1
   31 root        1  43    -     0K    16K CPU2   3 356:06 70.56% em0_rx_kthread_0
   32 root        1  43    -     0K    16K RUN    3 355:51 69.73% em0_rx_kthread_1
   66 root        1 -68    -     0K    16K -      0 718:40 69.24% dummynet
 1281 root        1   8  -15 39608K 21460K nanslp 1  30:57  2.93% perl5.8.9
 1198 root        5   4  -15 65420K 58672K sbwait 0   0:00  2.05% ipcad
   30 root        1 -68    -     0K    16K WAIT   2  18:46  2.00% em0_txcleaner
   34 root        1 -68    -     0K    16K WAIT   2  21:09  1.95% em1_txcleaner
   11 root        1 171 ki31     0K    16K RUN    3 442:09  0.98% idle: cpu3
   12 root        1 171 ki31     0K    16K RUN    2 389:06  0.73% idle: cpu2
   13 root        1 171 ki31     0K    16K RUN    1 278:27  0.10% idle: cpu1
 1067 bind        7   4    0   193M   166M kqread 3   4:31  0.05% named
   14 root        1 171 ki31     0K    16K RUN    0 257:27  0.00% idle: cpu0
   16 root        1 -32    -     0K    16K WAIT   3   7:18  0.00% swi4: clock sio
   65 root        1   8    -     0K    16K pftm   1   1:31  0.00% pfpurge
   18 root        1  96    -     0K    16K -      0   1:24  0.00% yarrow

                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 10.5.240.2                        0.0%    92    0.2   0.4   0.2   1.2   0.2
 2. 10.5.240.1                        0.0%    92   59.3  47.1   0.4  82.8  22.8
 3. gateway.tinconet.ru               0.0%    92   64.6  54.1   3.5  86.6  17.1

[root@router3 /etc/namedb]# sysctl -w net.inet.ip.dummynet.io_fast=1
net.inet.ip.dummynet.io_fast: 0 -> 1
[root@router3 /etc/namedb]# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    124715   777   77956019     122403     0   77424312     0
    126024    39   76324948     123215     0   75730636     0
    128651   255   78426761     126212     0   78225952     0
    123121   847   76270015     120358     0   75640436     0
    123222   555   76403306     120082     0   76598104     0
    124855  1220   77042997     121890     0   77157064     0
    122361  1390   75469679     119062     0   76173006     0
^C
[root@router3 /etc/namedb]# sysctl -w net.inet.ip.fastforwarding=0
net.inet.ip.fastforwarding: 1 -> 0
[root@router3 /etc/namedb]# netstat -w1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    122331   441   73453448     119588     0   72998541     0
    121242   722   75139594     118377     0   74688935     0
    122907   813   75376533     119915     0   74701931     0
    122078   511   74780417     119313     0   74427840     0
    122690   464   74303920     120535     0   73951746     0
    122937  1011   75668032     120311     0   74987256     0
    120045  1406   74164143     116503     0   73592756     0
    120632   866   75344900     118046     0   74888502     0


Среди плюсов - ошибок стало меньше при обычных настройках.
Но трафик чтото выше 400мбит не поднимается.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 18 Февраля 2010, 23:45:03
Ммм ..
Очень похожая фигня была на Броадкомовских сетевках и паре слабых 4хядерников.
Решилось только заменой сетевых на Интел 1000 Про и теперишний ксеончик 5460.

А вот в данном случае - жирный проц, норм сетевухи и такой НИКАКОЙ траф  с ошибками и дикой загрузкой ..
"на этом мысль обрывается (с)"

В сисцтл.конф ченить полезное натюнено хоть ?

п.с. БЕЗ шейпера есть ошибки на сетевухах ?
как с загрузкой проца в этот момент ?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 19 Февраля 2010, 00:03:29
Ммм ..
Очень похожая фигня была на Броадкомовских сетевках и паре слабых 4хядерников.
Решилось только заменой сетевых на Интел 1000 Про и теперишний ксеончик 5460.

А вот в данном случае - жирный проц, норм сетевухи и такой НИКАКОЙ траф  с ошибками и дикой загрузкой ..
"на этом мысль обрывается (с)"

В сисцтл.конф ченить полезное натюнено хоть ?

п.с. БЕЗ шейпера есть ошибки на сетевухах ?
как с загрузкой проца в этот момент ?


Ну квадик конечно не самый топовый. Всего 2.8GHz. 50к за проц как у вас выкладывать смысла нету т.к. на 5к дороже стоит полностью еще одна платформа с Q9550 на борту а судя по вашим цифрам особого прироста это не даст. Ну еще лишние 100мбит может пропустит.

Без шейпера (allow ip from any to any) ошибок нету но при этом pps гдето на 15кpps ниже полученного мной на обычных дровах. Т.е. буду откатываться на интеловый драйвер.
Все 4 ядра при этом захаваны ядерными процессами сетевых.
Вообще смысл от яндексовых дров есть при 8+ ядрах. На 4 както не особо выходит.

В сисцтл немного потюнен dummynet но это дает не очень много выигрыша. Плюс подкручены dev.em.
xd

В общем еще жду новую платформу с Xeon 55xx на борту и ET Dualport карточками.
Посмотрим как она осилит такую же нагрузку. Как никак DDR3 память + изначально заточенная под SMP карточка.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 19 Февраля 2010, 00:31:29
Ну, этот проц нам отдали за совсем вменяемые деньги, а не за те, что обычно пишут на прайсах итд.
А прокачка в ТРИ раза больше трафа (400 было же ?) относительно 9550 - вроде как очень неплохо, имхо.

п.с. собираем второй сервер на Коре и7 + ЕТ/РТ карты.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 19 Февраля 2010, 11:37:15
450 в Full Duplex (450+450).
Так что не в три раза.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 24 Февраля 2010, 07:18:33
Кстати можете показать свой конфиг ядра? Есть одна глупая мысля...


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 26 Февраля 2010, 00:21:10
Кстати можете показать свой конфиг ядра? Есть одна глупая мысля...

Файлик приложил.
п.с. нетграф у меня грузится модулями.
Чего так ? както НА ГЛАЗ заметно, что модулями быстрее работает.
Ну вот то ли замерял так, то ли фазы луны стояли не те, но выходило модулями - быстрее. Мерял кппс.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 26 Февраля 2010, 10:41:59
Кстати можете показать свой конфиг ядра? Есть одна глупая мысля...

Файлик приложил.
п.с. нетграф у меня грузится модулями.
Чего так ? както НА ГЛАЗ заметно, что модулями быстрее работает.
Ну вот то ли замерял так, то ли фазы луны стояли не те, но выходило модулями - быстрее. Мерял кппс.

У вас ng_nat чтоли? Не видно тех же pf в конфиге чтото.
Или тоже модулями идет.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 26 Февраля 2010, 12:29:44
модулем.

п.с. кстати, на наге тема интересная про торренты и кппс ))


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 26 Февраля 2010, 13:58:03
модулем.

п.с. кстати, на наге тема интересная про торренты и кппс ))

Угу. Т.к. ng_bpf у меня не работает, колдую над лимитированием pps на udp трафик с портами выше 1024 и размером меньше 128 байт. Думаю это должно помочь :)


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 04 Марта 2010, 03:03:33
Угу. Т.к. ng_bpf у меня не работает, колдую над лимитированием pps на udp трафик с портами выше 1024 и размером меньше 128 байт. Думаю это должно помочь :)

Ну как продвигаются дела в этом направлении ?
С бпф таки да, косяки какието ((


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Aivanzipper от 04 Марта 2010, 09:11:59
колдую над лимитированием pps на udp трафик с портами выше 1024 и размером меньше 128 байт.

А толку от пакетов < 128b? Новый uTorrent генерирует минимальные пакеты 150b.
Я пока фильтрую вот так:
Код:
deny udp from table 0 to any iplen 61


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 04 Марта 2010, 10:40:12
колдую над лимитированием pps на udp трафик с портами выше 1024 и размером меньше 128 байт.

А толку от портов < 128b? Новый uTorrent генерирует минимальные пакеты 150b.
Я пока фильтрую вот так:
Код:
deny udp from table 0 to any iplen 61
Это тупой фильтр. ВО первых он блокирует днс трафик, у мну например средний размер пакета утп 58 байт вышел а не 61.
ng_bpf в целом заработал на одном из серверов но на втором почемуто показал мне панику.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: blackjack от 04 Марта 2010, 11:41:40
а вам шо хтось заборонив написати це правило після пропуску днс і авторизатора?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 04 Марта 2010, 11:48:09
а вам шо хтось заборонив написати це правило після пропуску днс і авторизатора?
DNS это первое что подпадает. А есть еще игры,voip, софт специализированный.
Так что это невариант.
ng_bpf с запускам по портам >1024 вполне работает, жалоб от геймеров не было.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: blackjack от 04 Марта 2010, 21:12:24
1. включаємо творчу уяву
2. робимо додаткове поле в адмінці з можливими параметрами Так/Ні і альясом _udp
3. в фаєрволі робим правила
Код:
100 allow udp from $local_net to me 53,67,7723
200 skipto 400 udp from "table(40)" to any
250 skipto 400 udp from any to "table(40)"
300 deny udp from any to any
400 .....

4. додаєм в nofire.pl шось таке приблизно
Код:
if($_udp)
{
         system($fw table 40 add $ip);
}

кому треба юдп, то заходите після цього в технічні дані і ставите для юдп Так
всьо


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 05 Марта 2010, 10:46:03
Невариант, лишний геморой от геймеров операторам.
Тут и с 25 портом то они им мозг компостируют а уж когда им все игры закроет.
К тому же теже торентоводы спокойно открывают себе удп и дальше грузят роутеры.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 07 Марта 2010, 16:05:24
Угу. Т.к. ng_bpf у меня не работает, колдую над лимитированием pps на udp трафик с портами выше 1024 и размером меньше 128 байт. Думаю это должно помочь :)

Ну как продвигаются дела в этом направлении ?
С бпф таки да, косяки какието ((

Кстати у вас нетграф в ядре или снаружи? Я тут посмотрел то 10 байтовый фильтр у меня работает, нетграф в ядре сидит.
При том на другой машине у меня не работало - сравнил конфиги - разница только в нетграфе. Думаю в понедельник пересоберу ядро и посомтрю что выйдет.



Кстати еще в тяпницу привезли сервер с Q9650 и ET (igb) карточкой. Будет интересно по сравнивать по сравнению с PT(em) :)


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: hayarm от 16 Марта 2010, 19:12:36
мне помогло net.inet.ip.dummynet.io_fast=1, пингы были до 3 4 мс, а стали <1


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Lexx от 16 Марта 2010, 23:14:46
Насчет сетевой.
Все почему-то все время обращают внимание на Intel PT, но совсем не смотрят в сторону ET и VT.
А ведь разница очень существенная, даже в драйверах.
Конечно, если употреблять их с родными фри, то фу.
Но только попробуйте поставить последние с оригинального intel сайта, понаблюдайте, будет все видно совсем подругому по top -SP
Да, кстати, лучше ставить 4-8 процессорную систему, хотя относительно dummy все равно один пользуется.

И к слову, таз может пропустить и прошейпить около 800-1000 Мбит трафика с 110-130kpps.
Все что выше этих показателей (или близок) - это уже ухудшение предоставляемого сервиса и требует построения
на нормальном сетевом оборудовании.
Но всегда есть извращенные решения по распределению нагрузок без потери качества сервиса :) обращайтесь...


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 29 Сентября 2010, 21:02:58
И к слову, таз может пропустить и прошейпить около 800-1000 Мбит трафика с 110-130kpps.
Все что выше этих показателей (или близок) - это уже ухудшение предоставляемого сервиса и требует построения
на нормальном сетевом оборудовании.
Но всегда есть извращенные решения по распределению нагрузок без потери качества сервиса :) обращайтесь...

Хе )
Приятно почитать старые заблуждения ))

Сейчас пролетает до 1100/550 (обычно 850/450) трафа, в среднем 350 кппс и в среднем 65% загрузки.
На машинке нат+шейпер.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: blackjack от 30 Сентября 2010, 07:52:33
1100 через lagg ?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 30 Сентября 2010, 11:54:50
И к слову, таз может пропустить и прошейпить около 800-1000 Мбит трафика с 110-130kpps.
Все что выше этих показателей (или близок) - это уже ухудшение предоставляемого сервиса и требует построения
на нормальном сетевом оборудовании.
Но всегда есть извращенные решения по распределению нагрузок без потери качества сервиса :) обращайтесь...

Хе )
Приятно почитать старые заблуждения ))

Сейчас пролетает до 1100/550 (обычно 850/450) трафа, в среднем 350 кппс и в среднем 65% загрузки.
На машинке нат+шейпер.
Так и машинка наверное dual xeon?
И что за сетевые\драйвера\версии FreeBSD\закрученые гайки?

Кстати ктонить игрался с 1156\1366 платформами? Думаю завтра привезут на поиграться машинку на 1156. Но не знаю удастся ли сразу загрузить сервер трафиком.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 30 Сентября 2010, 20:48:18
1100 через lagg ?
Ну да )


Так и машинка наверное dual xeon?
И что за сетевые\драйвера\версии FreeBSD\закрученые гайки?

Кстати ктонить игрался с 1156\1366 платформами? Думаю завтра привезут на поиграться машинку на 1156. Но не знаю удастся ли сразу загрузить сервер трафиком.

Не. Машинка, В ПРИНЦИПЕ, в меру дорогая ..
Супермикро 6016T-MTHF вроде и один Intel(R) Xeon(R) CPU E5620  @ 2.40GHz.
Таких можно пачку поставить. Они все короткие 1У. и греются очень даже НЕ сильно .. вот сейчас в чнн  - 58 градусов всего, учитывая , что в серверной не холодно ((.
Да, кстати - проц 1366 )) Так что можно сказать, игрался .. довольно тесно (((

п.с. Насчет трафика: до 500-700 мбт суммарного трафа загрузка у него просто смешная.
А потом начинается рост. Правда, у нас там и НАТ на нем же висит.
Собираюсь через пару неделек перенести нат на другую машинку, чисто попробовать, КАК это скажется на производительности и вообще - стОит ли ..


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 01 Октября 2010, 01:43:38
1100 через lagg ?
Ну да )


Так и машинка наверное dual xeon?
И что за сетевые\драйвера\версии FreeBSD\закрученые гайки?

Кстати ктонить игрался с 1156\1366 платформами? Думаю завтра привезут на поиграться машинку на 1156. Но не знаю удастся ли сразу загрузить сервер трафиком.

Не. Машинка, В ПРИНЦИПЕ, в меру дорогая ..
Супермикро 6016T-MTHF вроде и один Intel(R) Xeon(R) CPU E5620  @ 2.40GHz.
Таких можно пачку поставить. Они все короткие 1У. и греются очень даже НЕ сильно .. вот сейчас в чнн  - 58 градусов всего, учитывая , что в серверной не холодно ((.
Да, кстати - проц 1366 )) Так что можно сказать, игрался .. довольно тесно (((

п.с. Насчет трафика: до 500-700 мбт суммарного трафа загрузка у него просто смешная.
А потом начинается рост. Правда, у нас там и НАТ на нем же висит.
Собираюсь через пару неделек перенести нат на другую машинку, чисто попробовать, КАК это скажется на производительности и вообще - стОит ли ..

Т.е. по сравнению с S775 - небо и земля?
У меня на S775 почемуто только 400\400 получалось, ну или может 500\500 если kpps позволяют.
И 500-700 это на каждый из интерфейсов\lagg в FDX или просуммировав по всем?

Пока из новых машин у меня стоит тоже супермикра но только с процом помедленнее (4x2GHz) и подревнее (Xeon 55xx серии, точнее не помню).
Но там только шлюз + BGP, 950Mbit FDX на одной двупортовой intel карте на ура.
Вот думаю заменить ее вскоре на 4х портовую и собрать в lagg.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 01 Октября 2010, 13:48:42
Возможно это только у меня такой прикол, но когда было по одной сетевухе на ин/оут интерфейс, а не по две, как сейчас, то нагрузка на проц была в ДВА раза меньше. При том трафика проходило всего на 20%меньше, чем сейчас. Зато кппс вырос со 160 до 370.
850/450 мбт трафа проходит через ОДИН lagg (к клиентам). Через второй (в инет) проходит столько же.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: glat от 04 Октября 2010, 23:07:23
А у меня вот какой прикольчик,
после каждой перезагрузки машины меняется загрузка Dummynet .
раз ребутнеш жрет до 80%, другой раз ребутнеш 0%.
при этом трафик в обоих случаях приличный , десь 500 мбит.
иногда нужно ребутнуть раза три что бы на ноль выйти, система фря 8.0

Код:
 netstat -w1
            input        (Total)           output
   packets  errs idrops      bytes    packets  errs      bytes colls
    247174     0     0  234670587     248278     0  234819047     0
    238146     0     0  226225296     239838     0  229310636     0
    236700     0     0  226116089     236669     0  225043362     0
    226988     0     0  220864123     229285     0  224495146     0
    231009     0     0  222380231     231568     0  223314049     0
    251703     0     0  248758974     251680     0  248220873     0
^C
[glat@gw1 ~]$ netstat -w1 -Iem0
            input          (em0)           output
   packets  errs idrops      bytes    packets  errs      bytes colls
     49675     0     0   50787241      47978     0   41559860     0
     46771     0     0   49667814      44031     0   37745270     0
     44362     0     0   45342156      42831     0   36897312     0

Код:
last pid: 33389;  load averages:  1.31,  1.05,  0.76                                                                     up 5+03:06:13  00:09:35
141 processes: 7 running, 115 sleeping, 19 waiting
CPU 0:  0.0% user,  0.0% nice, 60.0% system,  0.0% interrupt, 40.0% idle
CPU 1:  0.0% user,  0.0% nice,  0.0% system, 20.0% interrupt, 80.0% idle
CPU 2:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 3:  0.0% user,  0.0% nice, 80.0% system,  0.0% interrupt, 20.0% idle
Mem: 263M Active, 921M Inact, 406M Wired, 112M Buf, 1787M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root     171 ki31     0K    32K RUN     2 105.1H 100.00% {idle: cpu2}
    0 root     -68    0     0K    88K CPU3    3  39.0H 72.75% {em0 taskq}
   11 root     171 ki31     0K    32K RUN     0  89.6H 57.76% {idle: cpu0}
   11 root     171 ki31     0K    32K CPU1    1 106.8H 47.07% {idle: cpu1}
    0 root     -68    0     0K    88K CPU0    0  31.2H 47.07% {em1 taskq}
    0 root     -68    0     0K    88K -       2  20.8H 30.57% {dummynet}
   11 root     171 ki31     0K    32K RUN     3  82.9H 27.98% {idle: cpu3}
   12 root     -44    -     0K   152K WAIT    1 594:24 14.99% {swi1: netisr 0}
   12 root     -32    -     0K   152K WAIT    2  99:03  8.98% {swi4: clock}
 4424 root      44  -15 11820K  9656K nanslp  0  55:16  0.10% perl5.8.9
 3187 root      44    0  8136K  6008K nanslp  3  45:27  0.00% perl5.8.9


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: elite от 04 Октября 2010, 23:17:16
попробуй cpuset


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 05 Октября 2010, 01:00:06
В 8ке дамминет включен в процесс с пид=0 (кернел) и, имхо, cpuset там не поможет.
п.с. под рукой нету 8ки, чеб написать чето более внятное ))


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: elite от 05 Октября 2010, 09:21:31
тогда обновиться до стейбл


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: VitalVas от 05 Октября 2010, 09:56:45
В 8ке дамминет включен в процесс с пид=0 (кернел) и, имхо, cpuset там не поможет.
п.с. под рукой нету 8ки, чеб написать чето более внятное ))
у меня работает  :D
Код:
uname -sr
FreeBSD 8.1-STABLE


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 05 Октября 2010, 11:32:41
В 8ке дамминет включен в процесс с пид=0 (кернел) и, имхо, cpuset там не поможет.
п.с. под рукой нету 8ки, чеб написать чето более внятное ))
у меня работает  :D
Код:
uname -sr
FreeBSD 8.1-STABLE

Ну и ? )) Поподробнее бы, как там с цпусет ?
п.с. ставил 8ку - не понравилась ...


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: VitalVas от 05 Октября 2010, 12:12:41
Ну и ? )) Поподробнее бы, как там с цпусет ?
п.с. ставил 8ку - не понравилась ...
8-ка боле оптимизирована, но есть свои приколы
я свой dell разогнал до 800 мбит, оптимизировавши стек
от статя по которой я делал http://forum.sysadmins.su/index.php?showtopic=2702 (копи-пастом не занимайтесь, подходите с умом)


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 06 Октября 2010, 20:48:30
Ммм.. чисто мое имхо:
Прочитал ту статью, нифига полезного не нашел ...
И никакого тюнинга именно под 8ку там и близко нет.
Зато есть вывод - чувак переехал с 8й ветки на 7ю )))


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: napTu от 07 Января 2011, 12:52:18
А у меня вот какой прикольчик,
после каждой перезагрузки машины меняется загрузка Dummynet .
раз ребутнеш жрет до 80%, другой раз ребутнеш 0%.
при этом трафик в обоих случаях приличный , десь 500 мбит.
иногда нужно ребутнуть раза три что бы на ноль выйти, система фря 8.0

тоже самое, нужно бы по этому поводу PR катануть на freebsd.org.
Ситуация на самом деле следующая: когда dummynet по TOP не показывает использование CPU, то он всё равно его жрет, это можно увидеть по суммарному времени занятости в сравнении с самымыми загруженными процессами:
Код:
    0 root        72    0     0K   112K CPU2    2 702:57 39.99% {em0_rx0_1}
    0 root        76    0     0K   112K CPU1    1 703:14 39.16% {em0_rx0_2}
    0 root        76    0     0K   112K WAIT    0 707:01 37.70% {em0_rx0_0}
    0 root        49    0     0K   112K WAIT    0 173:10  8.25% {em1_rx0_1}
    0 root        49    0     0K   112K WAIT    0 171:47  6.79% {em1_rx0_0}
    0 root       -68    0     0K   112K -       0 508:33  0.00% {dummynet}
так что ребутить и добиваться чтобы dummynet не жрал CPU смысла не имеет, только для самоуспокоения.

Всем кто хочет оптимизировать свою систему советую утилитку hwpmc (требует перекомпиляции ядра) - измеряет время затраченное на вызов каждой процедуры в ядре. Авторское howto описание тут http://freebsd.rambler.ru/bsdmail/freebsd-current_2006/msg01582.html
Вот какие результаты я получил у себя
Код:
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 58.4 1328138.00 1328138.00    17868 74330.54 92836.94  ipfw_chk [6]
 12.1 1602420.00 274282.00   411496   666.55   666.55  rn_match [18]
  7.5 1772186.00 169766.00    22140  7667.84  7889.51  sched_idletd [20]
  1.6 1808840.00 36654.00    49025   747.66   749.43  _mtx_lock_sleep [30]
  1.1 1832874.00 24034.00   358506    67.04   780.74  ipfw_lookup_table [17]
  0.8 1849981.00 17107.00    16755  1021.01  1021.01  generic_bzero [41]
  0.7 1866886.00 16905.00   358510    47.15   713.70  rn_lookup [19]
  0.6 1880435.00 13549.00     3667  3694.85  3694.85  strncmp [50]
откуда видно что требуется оптимизация ipfw правил


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: glat от 18 Марта 2011, 10:10:47
Когда-то я настраивал сервер сети Глобалнет - там была такая-же проблема с дамминетом - он жрал уж ну очень много ресурсов. Пляски с бубном были долгие, фря тоже стояла 64битная. Даже не помню как побороли.
1) Стояла какая-то одна из последних мамок и АМДшный четырёхкотловый камень. Обновил Биос на мамке - выставил правильный тип процессора. До этого проц был Unknown. Стало легче.
2) через cvsup обновил порты и /usr/sys - пересобрал ядро в версию p4 (см. uname -a )
3) Поставил хорошую серверную Интел-сетевушку PCI-express (модель не помню, доступа к серверу уже нет)
4) Отключил нафиг поллинг и поставил Яндекс-драйвера
5) Вроде как делал тюнинг sysctl.conf и /boot/loader.conf

К сожалению конфиги выложить не могу, по вышеуказанной причине. Есть тут на форуме некий glat, может быть поделиться с Вами информацией.

Если кому то нужно, говорите какие конфиги нужно выложить.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: amasis от 04 Апреля 2011, 12:09:59
Перепробовал многое , реально помогло только прибивание dummynet  к одному ядру .
FreeBSD 8.2-RELEASE
Код:
 procstat -at | grep dummynet                 
    0 100083 kernel           dummynet           0   16 sleep   -
 cpuset -l 0 -t 100083


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Maks от 11 Апреля 2011, 08:41:32
Извеняюсь что не по теме, но.
Решил обновить железо сервака, и посатвить сетевые Intel E1G42ET .
Для этих сетевых норм дров (как я начитался ) для 7.2 нет, а на 8 все есть.
Но обновляться на 8 страшно, т.к понял что там много косяков, на подобии  Dummynet. Или я не прав?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: ser970 от 11 Апреля 2011, 08:47:02
Но обновляться на 8 страшно, т.к понял что там много косяков, на подобии  Dummynet. Или я не прав?
8.2 норма


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Maks от 11 Апреля 2011, 08:53:52
Но обновляться на 8 страшно, т.к понял что там много косяков, на подобии  Dummynet. Или я не прав?
8.2 норма

У меня сейчас 7.,2 Я так понимал нужно сначала до 8 потом на 8,2.
Или лучше на новом железе поставить 8,2 на чисто и там все поднять?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 11 Апреля 2011, 15:52:41
Извеняюсь что не по теме, но.
Решил обновить железо сервака, и посатвить сетевые Intel E1G42ET .
Для этих сетевых норм дров (как я начитался ) для 7.2 нет, а на 8 все есть.
Но обновляться на 8 страшно, т.к понял что там много косяков, на подобии  Dummynet. Или я не прав?
Код:
[goletsa@nat3 ~]$ sysctl -a dev.igb.
dev.igb.0.%desc: Intel(R) PRO/1000 Network Connection version - 1.8.4
dev.igb.0.%driver: igb
dev.igb.0.%location: slot=0 function=0
dev.igb.0.%pnpinfo: vendor=0x8086 device=0x10c9 subvendor=0x8086 subdevice=0xa03c class=0x020000
dev.igb.0.%parent: pci1
dev.igb.0.debug: -1
dev.igb.0.stats: -1
dev.igb.0.flow_control: 0
dev.igb.0.enable_aim: 1
dev.igb.0.low_latency: 1000
dev.igb.0.ave_latency: 2000
dev.igb.0.bulk_latency: 4000
dev.igb.0.rx_processing_limit: 100
dev.igb.1.%desc: Intel(R) PRO/1000 Network Connection version - 1.8.4
dev.igb.1.%driver: igb
dev.igb.1.%location: slot=0 function=1
dev.igb.1.%pnpinfo: vendor=0x8086 device=0x10c9 subvendor=0x8086 subdevice=0xa03c class=0x020000
dev.igb.1.%parent: pci1
dev.igb.1.debug: -1
dev.igb.1.stats: -1
dev.igb.1.flow_control: 0
dev.igb.1.enable_aim: 1
dev.igb.1.low_latency: 1000
dev.igb.1.ave_latency: 2000
dev.igb.1.bulk_latency: 4000
dev.igb.1.rx_processing_limit: 100
[goletsa@nat3 ~]$ uname -a
FreeBSD nat3.tinconet.ru 7.2-RELEASE-p7 FreeBSD 7.2-RELEASE-p7 #1: Tue Mar 23 23:18:11 MSK 2010     tinco@nat3.tinconet.ru:/usr/obj/usr/src/sys/TINCONAT3  i386
[goletsa@nat3 ~]$

Полгбита прогоняет вполне нормально.
Но вообще это End-Of-Life релиз,  в ближайшее время до 7.4 обновлю.


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 11 Апреля 2011, 16:09:18
График одного из портов сетевой


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Maks от 11 Апреля 2011, 16:32:57
Спасибо, знач на 7.2 Останусь.
А как быть с несколькими с привязыванием ядер к сетевым, на 7.2 это нормально реализовано?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: goletsa от 14 Июня 2011, 17:31:10
Спасибо, знач на 7.2 Останусь.
А как быть с несколькими с привязыванием ядер к сетевым, на 7.2 это нормально реализовано?
Не запаривался пока с таким. Кстати пока гоняю новую(относительно) платформу от интела.
На борту распаяны две карты на чипе 82576EB http://ark.intel.com/Product.aspx?id=37166
Почти такой же чип стоит на E1G42ET ( там правда везде пишут просто 82576).

И немного цифр:
Код:
last pid: 27330;  load averages:  0.21,  0.11,  0.09    up 1+18:14:54  19:16:32
31 processes:  1 running, 30 sleeping
CPU:  0.9% user,  0.0% nice,  1.3% system, 21.1% interrupt, 76.7% idle
Mem: 47M Active, 988M Inact, 518M Wired, 232K Cache, 414M Buf, 2326M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 1600 root        1   8  -15 61668K 43020K nanslp  0  60:28  4.83% perl5.12.3
 1452 root        4  44  -15 43828K 37148K select  2   2:48  2.39% ipcad
25762 root        1  44    0 25096K  7516K select  2   0:03  0.00% bsnmpd


last pid: 27302;  load averages:  0.02,  0.07,  0.07    up 1+18:11:52  19:13:30
97 processes:  5 running, 68 sleeping, 24 waiting
CPU 0:  0.9% user,  0.0% nice,  2.2% system, 30.7% interrupt, 66.2% idle
CPU 1:  0.4% user,  0.0% nice,  3.1% system,  0.9% interrupt, 95.6% idle
CPU 2:  0.0% user,  0.0% nice,  2.2% system,  0.0% interrupt, 97.8% idle
CPU 3:  0.0% user,  0.0% nice,  0.9% system, 57.9% interrupt, 41.2% idle
Mem: 47M Active, 988M Inact, 518M Wired, 232K Cache, 414M Buf, 2326M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   13 root        1 171 ki31     0K    16K RUN     1  39.6H 95.95% idle: cpu1
   12 root        1 171 ki31     0K    16K CPU2    2  38.3H 75.00% idle: cpu2
   14 root        1 171 ki31     0K    16K CPU0    0  40.8H 73.93% idle: cpu0
   11 root        1 171 ki31     0K    16K CPU3    3  41.1H 48.63% idle: cpu3
   36 root        1 -68    -     0K    16K WAIT    3  39:42 40.19% irq260: igb2
   30 root        1 -68    -     0K    16K WAIT    0  34:45 36.77% irq256: igb0
   56 root        1 -68    -     0K    16K -       2 335:21 27.59% dummynet
 1600 root        1   8  -15 61668K 43020K nanslp  1  60:18  4.05% perl5.12.3
 1452 root        4  44  -15 43828K 37148K select  0   2:43  2.78% ipcad
   31 root        1 -68    -     0K    16K -       2   1:36  0.93% igb0 que
   37 root        1 -68    -     0K    16K -       1   1:06  0.68% igb2 que
   16 root        1 -32    -     0K    16K WAIT    1  12:07  0.00% swi4: clock
   63 root        1  20    -     0K    16K syncer  0   1:10  0.00% syncer

# netstat -w1 -h
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
      105K     0        84M        98K     0        84M     0
      104K     0        83M        97K     0        83M     0
      104K     0        81M        95K     0        90M     0
      105K     0        85M        99K     0        85M     0

# netstat -w1 -I igb2 -h
            input         (igb2)           output
   packets  errs      bytes    packets  errs      bytes colls
       57K     0        51M        46K     0        32M     0
       54K     0        50M        43K     0        28M     0
       56K     0        53M        43K     0        27M     0
       57K     0        55M        43K     0        27M     0
^C


# uname  -a
FreeBSD nat4.tinconet.ru 7.4-RELEASE-p2 FreeBSD 7.4-RELEASE-p2 #0: Mon Jun 13 04:41:41 MSD 2011     root@nat4.tinconet.ru:/usr/obj/usr/src/sys/TINCONAT  amd64


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Demeo от 16 Сентября 2011, 12:01:34
А может мне кто-нить объяснить, почему на новых Интеловских дровах у меня прерывания входящей карточки распределяются на 4 ядра, а внутренняя (самая нагруженная сервисами) на одном висит?

Код:
last pid: 39256;  load averages:  0.12,  0.07,  0.05              up 0+03:20:09  13:07:02
177 processes: 5 running, 143 sleeping, 29 waiting
CPU 0:  0.5% user,  0.0% nice,  1.0% system, 35.9% interrupt, 62.5% idle
CPU 1:  0.5% user,  0.0% nice,  7.9% system,  5.8% interrupt, 85.9% idle
CPU 2:  0.5% user,  0.5% nice,  5.2% system,  4.2% interrupt, 89.5% idle
CPU 3:  0.5% user,  0.0% nice, 11.0% system,  3.1% interrupt, 85.3% idle
Mem: 379M Active, 58M Inact, 257M Wired, 292K Cache, 108M Buf, 7225M Free
Swap: 16G Total, 16G Free

  PID USERNAME   PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root       171 ki31     0K    64K CPU1    1 182:44 100.00% {idle: cpu1}
   11 root       171 ki31     0K    64K CPU3    3 178:22 91.46% {idle: cpu3}
   11 root       171 ki31     0K    64K RUN     2 177:38 86.96% {idle: cpu2}
   11 root       171 ki31     0K    64K CPU0    0 149:25 70.90% {idle: cpu0}
   12 root       -68    -     0K   464K WAIT    0  37:19 26.37% {irq261: igb1:que}
    0 root       -68    0     0K   240K -       3  20:33  9.18% {dummynet}
   12 root       -68    -     0K   464K WAIT    0  10:42  7.08% {irq256: igb0:que}
   12 root       -68    -     0K   464K WAIT    3   9:08  5.66% {irq259: igb0:que}
   12 root       -68    -     0K   464K WAIT    2   9:28  5.18% {irq258: igb0:que}
   12 root       -68    -     0K   464K WAIT    1   8:17  4.49% {irq257: igb0:que}
    0 root       -68    0     0K   240K -       1   3:47  1.17% {igb1 que}
   12 root       -32    -     0K   464K WAIT    2   1:02  0.10% {swi4: clock}
    0 root        44    0     0K   240K sched   2   1:49  0.00% {swapper}
 2949 root        44  -15 37028K 14924K nanslp  2   1:27  0.00% perl5.12.4
 1220 root        44    0 50616K 14512K select  2   0:46  0.00% {mpd5}


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Lexx от 16 Сентября 2011, 12:03:28
глубину причин не знаю
но лучше разкидать по процам вручную
procstat -at
и потом тридам некоторым сказать cpuset -t 1111 -l 0-1 (тоесть первый и второй процы)


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Demeo от 16 Сентября 2011, 12:07:34
Код:
procstat -at | grep igb
    0 100031 kernel           igb0 que           2   16 sleep   -
    0 100033 kernel           igb0 que           3   16 sleep   -
    0 100035 kernel           igb0 que           1   16 sleep   -
    0 100037 kernel           igb0 que           1   16 sleep   -
    0 100040 kernel           igb1 que           1   16 sleep   -
    0 100042 kernel           igb1 que           2   16 sleep   -
    0 100044 kernel           igb1 que           0   16 sleep   -
    0 100046 kernel           igb1 que           0   16 sleep   -
   12 100030 intr             irq256: igb0:que   0   16 wait    -
   12 100032 intr             irq257: igb0:que   1   16 wait    -
   12 100034 intr             irq258: igb0:que   2   16 wait    -
   12 100036 intr             irq259: igb0:que   3   16 wait    -
   12 100038 intr             irq260: igb0:lin   3   16 wait    -
   12 100039 intr             irq261: igb1:que   0   16 wait    -
   12 100041 intr             irq262: igb1:que   1   16 wait    -
   12 100043 intr             irq263: igb1:que   2   16 wait    -
   12 100045 intr             irq264: igb1:que   3   16 wait    -
   12 100047 intr             irq265: igb1:lin   3   16 wait    -

Картина вроде адекватная, но вопрос все-таки почему?
А cpuset при перезагрузке сбросится?


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Lexx от 16 Сентября 2011, 12:15:48
да, при перезагрузке надо опять устанавливать
в rc.local сделать небольшой скриптик


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Lexx от 16 Сентября 2011, 12:16:48
а причины стоит искать в исходниках драйверов... что не совсем комфортно и нужно
cpuset нормально решает проблему


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Elisium от 16 Сентября 2011, 21:11:00
А может мне кто-нить объяснить, почему на новых Интеловских дровах у меня прерывания входящей карточки распределяются на 4 ядра, а внутренняя (самая нагруженная сервисами) на одном висит?

[Чисто теория, полёт мысли...]
Если у тебя стоит МПД и принимает ПППчегототам и всё эти соединения находятся на одном (единственном) влане/физ. ифейсе, то, КАК ГДЕТО ПИСАЛИ (наг), интеловские дрова НЕ РАЗБРАСЫВАЮТ такой трафик на несколько потоков.
Причина - очереди (дрова) заточены под ТСП/УДП пакеты (пакеты попадают в разные очереди на основе заголовков Л3/4), а там ПППххх.

п.с. всё это выгребаю из глубин памяти. НО - при желании поиск рулит...

Апд: Таки да, рулит.. на слово Линукс НЕ СМОТРИМ .. смотрим "ширше" (С)
http://forum.nag.ru/forum/index.php?showtopic=60803


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Rico-X от 17 Сентября 2011, 06:15:55
Причины и метод решения затронуты в этой статье http://dadv.livejournal.com/138951.html (3 части).


Название: Re: Оптимизация Dummynet под широкий канал
Отправлено: Demeo от 19 Сентября 2011, 20:16:45
Причины и метод решения затронуты в этой статье http://dadv.livejournal.com/138951.html (3 части).

Спасибо, статьи помогли немного разнести по ядрам (правда скрипт разноса прерываний по ядрам не работает)