a182ot Posted November 12, 2009 Posted November 12, 2009 Сервер 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_* есть ли софтовое решение данной проблемы или какую выбрать железку/сетевку Вставить ник Quote
Latik Posted November 12, 2009 Posted November 12, 2009 Попробуйте http://people.yandex-team.ru/~wawa/ Вставить ник Quote
a182ot Posted November 12, 2009 Author Posted November 12, 2009 Попробуйте http://people.yandex-team.ru/~wawa/ скачал самую свежею версию... при загрузки emX: Could not setup receive structures если подать трафик, то сервер теряет управление(((...откатился назад Вставить ник Quote
Latik Posted November 12, 2009 Posted November 12, 2009 уберите тюнинг hw.em с loader.conf Вставить ник Quote
a182ot Posted November 13, 2009 Author Posted November 13, 2009 уберите тюнинг hw.em с loader.conf не hw.em, а не dev.em... все параметры по умолчанию. sysctl.conf пустой. Без нагрузки все работает, даже iperf получается прогнать 500mbps, как только трафик попадает на интерфейсы в promisc режиме, сервер теряет управление(по сети и с консоли). Если интерфейсы отключить физически, все приходит в норму. Вставить ник Quote
Latik Posted November 13, 2009 Posted November 13, 2009 (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 November 13, 2009 by Latik Вставить ник Quote
Dm1try Posted November 13, 2009 Posted November 13, 2009 (edited) В чем смысл объединения в lagg ? Что за структура netgraph? Edited November 13, 2009 by Dm1try Вставить ник Quote
a182ot Posted November 13, 2009 Author Posted November 13, 2009 В чем смысл объединения в 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 было раньше Вставить ник Quote
adeep Posted November 13, 2009 Posted November 13, 2009 (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 November 13, 2009 by adeep Вставить ник Quote
a182ot Posted November 18, 2009 Author Posted November 18, 2009 убрал из 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 Вставить ник Quote
littlesavage Posted November 18, 2009 Posted November 18, 2009 FreeBSD 7.2-RELEASE Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку. Хотя, тут на swi1:net нет нагрузки, но все же. Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1 Вставить ник Quote
XeonVs Posted November 18, 2009 Posted November 18, 2009 FreeBSD 7.2-RELEASE Можно попробовать обновится до 7-STABLE, там netgraph разнесен на каждый процессор по потоку. Хотя, тут на swi1:net нет нагрузки, но все же. Нагрузку на swi1 можно попробовать перенести включением net.isr.direct=1 или net.inet.ip.fastforwarding=1 не верно, софт-интерапты включаются через net.isr.direct=0 Вставить ник Quote
migosm Posted November 18, 2009 Posted November 18, 2009 (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 November 18, 2009 by migosm Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.