Jump to content

Recommended Posts

Posted

Сервер Asus RS160-S5, два Xeon E5420 @ 2.50GHz, четырех портовая сетевая карта intel 82571PT и встроенные (2х канальный интегрированный в чипсет контроллер + интерфейс физического уровня Intel 82563EB 10/100/1000 Мбит/с и 2 сетевых контроллера Intel 82573)

lagg0 объединяет четыре порта 82571PT и один встроенной сетевой карты. На интерфейсы lagg0 попадает мониторинг с роутера, далее в netgraph и выводить с другого lagg-интерфейса(два порта). На входящих в lagg0 интерфейсах есть ошибки из-за cpu:

FreeBSD 7.2-RELEASE
# ifconfig em0
em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 00:15:17:7f:57:b0
    media: Ethernet autoselect (1000baseTX <full-duplex>)
    status: active
    lagg: laggdev lagg0
# netstat -w 1 -I em0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls
    125071 34001   77377039          0     0          0     0
    127231 32662   78761625          0     0          0     0
    129571 29724   81239227          0     0          0     0
    125599 32527   78889850          0     0          0     0
#netstat -w 1 
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
    985841 110710  600567974     780195     0  313484948     0
    983657 120779  594569491     777140     0  306421389     0
    996726 115091  602176326     789737     0  312895661     0

last pid:  3584;  load averages:  4.31,  4.38,  4.37                                                                                 up 0+01:41:59  17:39:14
99 processes:  13 running, 72 sleeping, 14 waiting
CPU 0:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 1:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 2:  0.0% user,  0.0% nice,  3.5% system,  3.5% interrupt, 93.0% idle
CPU 3:  0.0% user,  0.0% nice, 54.4% system,  0.0% interrupt, 45.6% idle
CPU 4:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:  0.0% user,  0.0% nice,  100% system,  0.0% interrupt,  0.0% idle
CPU 6:  0.0% user,  0.0% nice,  8.8% system,  0.0% interrupt, 91.2% idle
CPU 7:  0.0% user,  0.0% nice, 75.4% system,  0.0% interrupt, 24.6% idle
Mem: 58M Active, 26M Inact, 109M Wired, 144K Cache, 28M Buf, 7731M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   31 root        1 -68    -     0K    16K CPU5   5  99:24 100.00% em2 taskq
   29 root        1 -68    -     0K    16K CPU0   0  99:21 100.00% em0 taskq
   30 root        1 -68    -     0K    16K CPU1   1  98:57 100.00% em1 taskq
   14 root        1 171 ki31     0K    16K CPU4   4  91:29 100.00% idle: cpu4
   16 root        1 171 ki31     0K    16K CPU2   2  78:47 93.65% idle: cpu2
   12 root        1 171 ki31     0K    16K CPU6   6  94:44 91.06% idle: cpu6
   39 root        1 -68    -     0K    16K CPU7   7  66:57 71.04% em7 taskq
   32 root        1 -68    -     0K    16K -      3  62:11 64.79% em3 taskq
   15 root        1 171 ki31     0K    16K RUN    3  38:53 34.03% idle: cpu3
   11 root        1 171 ki31     0K    16K RUN    7  34:16 31.84% idle: cpu7
   38 root        1 -68    -     0K    16K -      6   6:23 10.21% em6 taskq
   34 root        1 -68    -     0K    16K -      2   8:07  7.76% em5 taskq
   19 root        1 -32    -     0K    16K WAIT   2   1:27  1.22% swi4: clock sio
   18 root        1 171 ki31     0K    16K RUN    0   7:38  0.00% idle: cpu0
   13 root        1 171 ki31     0K    16K RUN    5   6:27  0.00% idle: cpu5
   17 root        1 171 ki31     0K    16K RUN    1   5:12  0.00% idle: cpu1
   21 root        1 -44    -     0K    16K WAIT   4   3:51  0.00% swi1: net

не помогло: polling 1000MHz,2000MHz;-tso;драйвера с сайта intel 6.9.20;изменение dev.em.0.rx_*

 

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

Posted

уберите тюнинг hw.em с loader.conf

не hw.em, а не dev.em... все параметры по умолчанию. sysctl.conf пустой. Без нагрузки все работает, даже iperf получается прогнать 500mbps, как только трафик попадает на интерфейсы в promisc режиме, сервер теряет управление(по сети и с консоли). Если интерфейсы отключить физически, все приходит в норму.

Posted (edited)
не hw.em, а не dev.em...
man em:

....
Tunables can be set at the loader(8) prompt before booting the kernel or
     stored in loader.conf(5).

     hw.em.rxd
             Number of receive descriptors allocated by the driver.  The
             default value is 256.  The 82542 and 82543-based adapters can
             handle up to 256 descriptors, while others can have up to 4096.

     hw.em.txd
             Number of transmit descriptors allocated by the driver.  The
             default value is 256.  The 82542 and 82543-based adapters can
             handle up to 256 descriptors, while others can have up to 4096.
....

Edited by Latik
Posted
В чем смысл объединения в lagg ?

Что за структура netgraph?

в lagg, на выходе, для пакетной балансировки, на входе port-channel с роутера + удобно

netgraph: ng_bpf, ng_car по одной ноде

man em:
# sysctl hw.em

sysctl: unknown oid 'hw.em'

# sysctl dev.em

dev.em.0.%desc: Intel® PRO/1000 Network Connection 6.9.6

...

ошибка в man-не, скорее hw было раньше

Posted (edited)
В чем смысл объединения в lagg ?

Что за структура netgraph?

в lagg, на выходе, для пакетной балансировки, на входе port-channel с роутера + удобно

netgraph: ng_bpf, ng_car по одной ноде

man em:
# sysctl hw.em

sysctl: unknown oid 'hw.em'

# sysctl dev.em

dev.em.0.%desc: Intel® PRO/1000 Network Connection 6.9.6

...

ошибка в man-не, скорее hw было раньше

hw.em работает только с loader.conf

в sysctl этих параметров нет

 

уберите из lagg0 интегрированные интерфейсы.

Edited by adeep
Posted

убрал из lagg0 интегрированный интерфейс... все равно, не более 0.5Mpps

с rx_processing_limit=5000,rx_int_delay=250,rx_abs_int_delay=250, hw.em.rxd=1024 0.6Mpps

 

перенес на C2D E6850, пропустил 0.65Mpps без потерь, а больше не влазит в три интерфейса((

как я понял, чем больше частота тем лучше, а количество ядер не так важно... буду искать c2d/i7 платформу, куда можно воткнуть две 82571PT

 

Posted
FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

Posted
FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

не верно, софт-интерапты включаются через net.isr.direct=0
Posted (edited)
FreeBSD 7.2-RELEASE

Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку.

Хотя, тут на swi1:net нет нагрузки, но все же.

Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1

не верно, софт-интерапты включаются через net.isr.direct=0

+1

угу, читаем src/sys/net/netisr.c: функция netisr_dispatch

Edited by migosm

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

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