Перейти к содержимому
Калькуляторы

freebsd 7.1 роутер, em0 тест и тюнинг

Немного не в тему, но все же....

 

7.1-STABLE, em-6.9.6-RELENG7-yandex-1.36.2.8

 

имеем kernel panic с предшествующими:

Mar 1 00:00:39 s3 kernel: em1: discard frame w/o packet header

Mar 1 00:00:43 s3 kernel: em0: discard frame w/o packet header

 

может кто-то сталкивался? как лечить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

# netstat -w1

input (Total) output

packets errs bytes packets errs bytes colls

547037 0 213707626 546519 0 213039466 0

544495 0 213845286 544730 0 213359972 0

517058 0 206733402 516928 0 206344794 0

532148 0 209317770 532421 0 208919036 0

523421 0 205514626 522914 0 204998748 0

 

Core2Quad 2.33Ghz Intel 1000/PT Dual, ipfw

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Немного не в тему, но все же....

 

7.1-STABLE, em-6.9.6-RELENG7-yandex-1.36.2.8

 

имеем kernel panic с предшествующими:

Mar 1 00:00:39 s3 kernel: em1: discard frame w/o packet header

Mar 1 00:00:43 s3 kernel: em0: discard frame w/o packet header

 

может кто-то сталкивался? как лечить?

сначала стоит включить и поглядеть коредамп - там будет лучше видно кто и куда уехал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Беда в том, что виснет мертво.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Беда в том, что виснет мертво.

гм, какая досада.

тогда имеет смысл проапгрейдится до последней версии стейбла (есть там свежие хорошие исправления) и, буде беда не пройдёт, пообщаться с уважаемым freebsd-net. Там много толковых людей - может кто-то что-то и вспомнит.

 

В.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сначала стоит вернуть родные дрова на место, убрать тюнинг, а потом уже чтото ковырять в системе(у меня временный тестовый сервер с начала декабря на 7.1 бета 2 работает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сервер "в бою". Такие эксперименты на нем проводить нельзя. Родные дрова = 100% загрузки одного ядра и начались потери пакетов.

Изменено пользователем McLaut

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сервер "в бою". Такие эксперименты на нем проводить нельзя. Родные дрова = 100% загрузки одного ядра и начались потери пакетов.

поставьте несколько интерфейсов и сагрегируйте их fec или lacp

Изменено пользователем t0ly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у роутера обычно несколько IP интерфейсов и их надо разнести на разные сетевухи

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нагрузочный тест сервера, нагрузка реальная, FREEBSD 7.1, проц E4700, PPTP шифрованый, нат, 1/3 интерфейсов с ng_car, все ng_netflow, немног IPFW

test# ifconfig | grep -c 10.0.
1362
test# top -SP
last pid: 19766;  load averages:  0.53,  0.53,  0.49   up 16+10:40:42  21:31:56
71 processes:  6 running, 54 sleeping, 11 waiting
CPU 0:  3.5% user,  0.0% nice, 15.9% system, 54.2% interrupt, 26.4% idle
CPU 1:  7.9% user,  0.0% nice, 19.4% system, 40.1% interrupt, 32.6% idle
Mem: 51M Active, 146M Inact, 241M Wired, 360K Cache, 199M Buf, 1554M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root        1 -44    -     0K     8K CPU0   0 190.8H 83.15% swi1: net
   11 root        1 171 ki31     0K     8K RUN    1 235.4H 34.96% idle: cpu1
   12 root        1 171 ki31     0K     8K RUN    0 243.7H 27.98% idle: cpu0
   22 root        1 -68    -     0K     8K -      1  30.5H 13.28% em1 taskq
   21 root        1 -68    -     0K     8K -      0  18.8H  8.25% em0 taskq
   14 root        1 -32    -     0K     8K WAIT   1  46.3H  2.39% swi4: clock
   16 root        1  44    -     0K     8K -      1  54:25  0.00% yarrow
   34 root        1  20    -     0K     8K syncer 0  22:40  0.00% syncer
  497 root        1  44    0  3184K  1220K select 1  13:57  0.00% syslogd
    3 root        1  -8    -     0K     8K -      0   0:52  0.00% g_up
    4 root        1  -8    -     0K     8K -      0   0:48  0.00% g_down
    2 root        1  -8    -     0K     8K -      1   0:41  0.00% g_event
  451 root        1   8    0  1888K   560K wait   0   0:37  0.00% devd
   24 root        1 -64    -     0K     8K WAIT   1   0:21  0.00% irq19: atapci
1210 root        1  44    0  5876K  3444K select 0   0:18  0.00% sendmail
входящий траф
test# netstat -w 1 -I vlan41
            input       (vlan41)           output
   packets  errs      bytes    packets  errs      bytes colls
     22455     0   21790227      18390     0    7262055     0
     22434     0   21751170      18173     0    7187462     0
     22024     0   20437336      18783     0    8005487     0
     21984     0   20576673      18595     0    7550743     0
     22256     0   21051914      18438     0    7204731     0
     21333     0   19662439      17613     0    7176360     0
     21592     0   20616930      17650     0    6829574     0
     20835     0   19048236      17172     0    6951437     0
     20876     0   18906065      17560     0    7335021     0
     21158     0   19579564      17340     0    6873866     0
     21556     0   20293178      17783     0    7141779     0
     20858     0   19042783      17557     0    7319695     0
     20917     0   19302083      17243     0    7151936     0
     22145     0   20724961      18257     0    7263558     0
     21383     0   19733962      17762     0    7309467     0
     20998     0   19362126      17155     0    6923064     0
     20519     0   19212344      16984     0    6763310     0
     22313     0   21056259      18129     0    6727788     0
     21748     0   20558367      17721     0    6861920     0
     20660     0   19210140      17241     0    7013395     0
            input       (vlan41)           output
   packets  errs      bytes    packets  errs      bytes colls
     21384     0   19707325      17558     0    6887979     0
     21896     0   20325288      17848     0    6990844     0

 

По спидтесту довн 40 Мбит ап 25 Мбит

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Речь идет о бордере:

last pid: 65496;  load averages:  5.11,  5.21,  5.26                                                                                          up 1+16:15:51  22:20:46
88 processes:  14 running, 61 sleeping, 13 waiting
CPU 0:  0.0% user,  0.0% nice, 64.1% system,  0.0% interrupt, 35.9% idle
CPU 1:  0.0% user,  0.0% nice, 52.5% system,  0.0% interrupt, 47.5% idle
CPU 2:  0.0% user,  0.0% nice, 49.2% system,  6.8% interrupt, 44.1% idle
CPU 3:  0.0% user,  0.0% nice, 58.5% system,  0.0% interrupt, 41.5% idle
CPU 4:  0.0% user,  0.0% nice, 54.2% system,  0.0% interrupt, 45.8% idle
CPU 5:  0.0% user,  0.0% nice, 50.0% system,  0.0% interrupt, 50.0% idle
CPU 6:  0.0% user,  0.0% nice, 51.7% system,  0.0% interrupt, 48.3% idle
CPU 7:  0.0% user,  0.0% nice, 61.9% system,  0.0% interrupt, 38.1% idle
Mem: 303M Active, 142M Inact, 368M Wired, 960K Cache, 214M Buf, 3098M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  237 root        1  43    -     0K    16K CPU2   2 878:03 52.49% em1_rx_kthread_3
  236 root        1  43    -     0K    16K CPU3   3 878:05 52.29% em1_rx_kthread_2
   36 root        1  43    -     0K    16K RUN    0 878:04 50.68% em1_rx_kthread_1
   35 root        1  43    -     0K    16K CPU7   7 881:00 50.29% em1_rx_kthread_0
   32 root        1  43    -     0K    16K WAIT   5 745:19 50.00% em0_rx_kthread_1
   31 root        1  43    -     0K    16K WAIT   6 748:24 49.76% em0_rx_kthread_0
   12 root        1 171 ki31     0K    16K RUN    6  26.3H 49.66% idle: cpu6
   15 root        1 171 ki31     0K    16K RUN    3  25.1H 48.39% idle: cpu3
   14 root        1 171 ki31     0K    16K CPU4   4  25.7H 47.66% idle: cpu4
  225 root        1  43    -     0K    16K WAIT   7 747:25 47.46% em0_rx_kthread_3
  224 root        1  43    -     0K    16K CPU1   1 748:35 47.17% em0_rx_kthread_2
   13 root        1 171 ki31     0K    16K RUN    5  26.2H 46.78% idle: cpu5
   17 root        1 171 ki31     0K    16K RUN    1  22.7H 44.68% idle: cpu1
   16 root        1 171 ki31     0K    16K RUN    2  24.1H 43.99% idle: cpu2
   11 root        1 171 ki31     0K    16K RUN    7  25.5H 40.77% idle: cpu7
   18 root        1 171 ki31     0K    16K RUN    0  21.0H 34.96% idle: cpu0
   39 root        1  43    -     0K    16K WAIT   5 321:22 10.79% em2_rx_kthread_0
   40 root        1  43    -     0K    16K WAIT   6 320:34 10.35% em2_rx_kthread_1
   34 root        1 -68    -     0K    16K WAIT   3 125:52  8.15% em1_txcleaner
   30 root        1 -68    -     0K    16K WAIT   4 103:41  7.96% em0_txcleaner
1170 root        1  45    0   204M   199M select 1  15:38  1.76% bgpd
   19 root        1 -32    -     0K    16K WAIT   2  27:47  0.00% swi4: clock sio
   51 root        1 -68    -     0K    16K -      0  19:10  0.00% dummynet
   38 root        1 -68    -     0K    16K WAIT   1   9:42  0.00% em2_txcleaner
   22 root        1  44    -     0K    16K -      3   5:20  0.00% yarrow
   57 root        1  20    -     0K    16K syncer 2   2:11  0.00% syncer

 

netstat -w1 -Iem0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
    116485     0   82675865     113255     0   62770301     0
    113406     0   79537407     112013     0   62762554     0
    112047     0   79377012     110336     0   61643336     0
    112698     0   80072247     110804     0   61117738     0
    115854     0   82572696     112633     0   61554093     0
    114887     0   82127865     112484     0   63626847     0
    114936     0   81498098     113291     0   63485501     0
    115340     0   81762290     112694     0   62905401     0
    113904     0   81063376     111694     0   62354494     0
    116649     0   83832057     114728     0   63614085     0
    116013     0   82984914     113546     0   62492665     0

netstat -w1 -Iem1
            input          (em1)           output
   packets  errs      bytes    packets  errs      bytes colls
    125723     0   57235897     122053     0   80175741     0
    125710     0   59201676     120148     0   78783536     0
    125054     0   58480519     120748     0   78939193     0
    125573     0   58563799     121896     0   81141470     0
    125975     0   57598924     121890     0   80856706     0
    125592     0   58492258     121594     0   82123083     0
    124170     0   57137817     120518     0   79596466     0
    123477     0   57831158     119885     0   80920080     0
    121531     0   57550303     118315     0   80995752     0
    123784     0   57960903     120045     0   82041748     0
    122500     0   56578707     119196     0   79828570     0
    122326     0   58743263     118590     0   80909033     0

 

Вот его загрузка не в самое пиковое время....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Речь идет о бордере:
last pid: 65496;  load averages:  5.11,  5.21,  5.26																						  up 1+16:15:51  22:20:46

88 processes: 14 running, 61 sleeping, 13 waiting

....

19 root 1 -32 - 0K 16K WAIT 2 27:47 0.00% swi4: clock sio

51 root 1 -68 - 0K 16K - 0 19:10 0.00% dummynet

38 root 1 -68 - 0K 16K WAIT 1 9:42 0.00% em2_txcleaner

....

есть в dummynet фатальная ошибка в каунтерах, изза которой пайпы имеют тенденцию грохать систему.

где-то я видел патч.

и в раутинговом коде только только мы коммитили исправление против дидлока.

 

В.

Изменено пользователем wawa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть в dummynet фатальная ошибка в каунтерах, изза которой пайпы имеют тенденцию грохать систему.

где-то я видел патч.

я тут просто выкрутился ;)

ipfw add 1 pass all from any to any
sleep 3
.....

а потом новые пайпы

 

и в раутинговом коде только только мы коммитили исправление против дидлока.

Если можно поподробнее.

 

Хотя, мне кажется я понял в чем причина падений, но хотелось бы понаблюдать еще пару дней.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть в dummynet фатальная ошибка в каунтерах, изза которой пайпы имеют тенденцию грохать систему.
В 6.2 она уже есть?

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

last pid: 61694;  load averages:  0.83,  0.75,  0.68                                  up 104+21:26:38 08:33:59
68 processes:  5 running, 49 sleeping, 14 waiting
CPU states:  0.0% user,  0.0% nice,  0.3% system,  0.3% interrupt, 99.4% idle
Mem: 23M Active, 185M Inact, 282M Wired, 199M Buf, 1516M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   12 root        1 171   52     0K     8K CPU1   1 2440.7 99.02% idle: cpu1
   13 root        1 171   52     0K     8K RUN    0 1519.6 98.97% idle: cpu0
   10 root        1 171   52     0K     8K CPU3   3 2443.1 98.78% idle: cpu3
   11 root        1 171   52     0K     8K CPU2   2 2449.1 98.73% idle: cpu2
   15 root        1 -32 -151     0K     8K WAIT   0  75.4H  0.05% swi4: clock
   14 root        1 -44 -163     0K     8K WAIT   0 970.1H  0.00% swi1: net
   28 root        1 -68    0     0K     8K -      0  17.0H  0.00% dummynet
   17 root        1  96    0     0K     8K -      0 341:08  0.00% yarrow
   34 root        1  20    0     0K     8K syncer 2 169:40  0.00% syncer
   33 root        1 -16    0     0K     8K psleep 3 113:58  0.00% bufdaemon
  570 root        1  96    0  1404K  1064K select 0 106:21  0.00% syslogd
59177 root        1  96    0  2600K  2152K select 0 104:06  0.00% natd
   35 root        1  -4    0     0K     8K vlruwt 2  94:40  0.00% vnlru
90147 root        7  20    0 18920K 15048K kserel 2  56:08  0.00% mpd4

И вопрос в продолжении темы шейпера - ктонибудь юзает MPD+NG_CAR и NG_CAR в качестве шейпера вместе, гдето писали что глючит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Используем полным ходом MPD+NG_CAR и NG_CAR в качестве шейпера вместе. Работает вполне пристойно, абоненты не жалуются. Но делаем не более 512 нод на один НАС.

В качестве НАС используются машины QXeon-3xxx, MB Intel-S32xx, 2Gb RAM, FreeBSD 7.0 + mpd4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему не более 512 нод, если не секрет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть в dummynet фатальная ошибка в каунтерах, изза которой пайпы имеют тенденцию грохать систему.

где-то я видел патч.

Кажется вот так лечится думминет.

http://freebsd.rambler.ru/bsdmail/freebsd-...7/msg01566.html

 

--- ip_dummynet.c_orig Sun Jun 10 20:19:33 2007

+++ ip_dummynet.c Fri Jun 15 07:37:46 2007

@@ -433,7 +433,7 @@

static struct dn_pkt_tag *

dn_tag_get(struct mbuf *m)

{

- struct m_tag *mtag = m_tag_first(m);

+ struct m_tag *mtag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL);

KASSERT(mtag != NULL &&

mtag->m_tag_cookie == MTAG_ABI_COMPAT &&

mtag->m_tag_id == PACKET_TAG_DUMMYNET,

@@ -698,8 +698,10 @@

if (p->if_name[0]==0 && p->numbytes < 0) { /* this implies bandwidth >0 */

dn_key t=0 ; /* number of ticks i have to wait */

 

- if (p->bandwidth > 0)

- t = ( p->bandwidth -1 - p->numbytes) / p->bandwidth ;

+ if (p->bandwidth > 0)

+ t = ( (u_int64_t)p->bandwidth -1 - p->numbytes) / p->bandwidth ;

+

+ KASSERT( (curr_time + t) >= curr_time, ("wfq overflow"));

dn_tag_get(p->tail)->output_time += t ;

p->sched_time = curr_time ;

heap_insert(&wfq_ready_heap, curr_time + t, (void *)p);

 

я тут просто выкрутился ;)

ipfw add 1 pass all from any to any
sleep 3
.....

а потом новые пайпы

это замечание я не понял

 

и в раутинговом коде только только мы коммитили исправление против дидлока.

Если можно поподробнее.

http://www.freebsd.org/cgi/query-pr.cgi?pr=130652

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

FreeBSD 7.1 Stable, em-6.9.6-RELENG7-yandex-1.36.2.8+MPD5.2+NG_CAR - 2500 сессий. Полет отличный. Шифрование и сжатие не используется.

Отдельное спасибо за это jab за советы и поддержку, wawa - за драйвера и Александру Мотину за MPD и советы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я тут просто выкрутился ;)

ipfw add 1 pass all from any to any
sleep 3
.....

а потом новые пайпы

это замечание я не понял

 

В скрипте первое правило

ipfw add 1 pass all from any to any
.....

, потом sleep 3, потом все правила, и последним правилом ipfw delete 1.

 

Пока проблем при передергивании не было.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему не более 512 нод, если не секрет?
Во-первых, у нас тунели с шифрованием.

Во-вторых, все ноды с шейперами (от 1 до 16Мбит/сек).

В-третьих, адресные пулы для НАСов нарезаны по /23.

В-четвертых, на 6-й фре уже при 400 нодах валились input-error и проц захлебывался прерываниями, вот и решили перестраховаться.

В общем так получилось - на каждые 500 нод свой НАС. Хотя конечно понимаю, что это далеко не предел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему не более 512 нод, если не секрет?
Во-первых, у нас тунели с шифрованием.

Во-вторых, все ноды с шейперами (от 1 до 16Мбит/сек).

В-третьих, адресные пулы для НАСов нарезаны по /23.

В-четвертых, на 6-й фре уже при 400 нодах валились input-error и проц захлебывался прерываниями, вот и решили перестраховаться.

В общем так получилось - на каждые 500 нод свой НАС. Хотя конечно понимаю, что это далеко не предел.

 

Сугубо ИМХО:

1. Не знаю, не пробовал... Ничего не могу сказать.

2. У меня аналогично. от 1-20 Мбит/с

3. Эт такое дело.... Не влияет ни на что.

4. Для этого используется либо yandex em driver, либо поллинг, в зависимости от того есть SMP или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а по опыту использования что производительнее dummynet или ng_car?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а по опыту использования что производительнее dummynet или ng_car?

ng_car

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конфиги http://forum.nag.ru/forum/index.php?showto...st&p=382621

ядро
options         KVA_PAGES=512
#options                DUMMYNET
#options        HZ=1000
#options                DEVICE_POLLING
#options                TCP_DROP_SYNFIN
options         IPFIREWALL
options         IPFIREWALL_FORWARD
#options                IPFIREWALL_FORWARD_EXTENDED
options         IPFIREWALL_DEFAULT_TO_ACCEPT

#options                IPDIVERT #     (NATD)

options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_IPFW
options         NETGRAPH_NAT
options         NETGRAPH_NETFLOW
options         NETGRAPH_SPLIT
options         NETGRAPH_ETHER
options         NETGRAPH_KSOCKET
options         NETGRAPH_SOCKET
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
и выключено все лишнее

loader.conf пустой

sysctl net.inet.ip.fw.dyn_max=65000
sysctl net.inet.ip.forwarding=1
sysctl net.inet.ip.fastforwarding=1

rc.conf
usb_enable="NO"
mpd_enable="YES"

 

да еще фаервол построен так

ipfw add 10 skipto 100 all from any to any out xmit $lan_if
ipfw add 20 skipto 200 all from any to any in recv $lan_if
ipfw add 30 skipto 270 all from any to any out xmit $wan_if
ipfw add 40 skipto 370 all from any to any in recv $wan_if
ipfw add 50 allow all from any to any via lo0
ipfw add 60 skipto 460 all from any to any out
ipfw add 70 skipto 530 all from any to any in
ipfw add 80 deny all from any to any

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.