Jump to content
Калькуляторы

Софтроутер на базе FreeBSD 7.1 Печальная производительность на 7.0(1)

Hello All!

 

Помогите решить проблемку с производительностью железки.

 

Собственно проблема в том, что больше 22Kpps эта машинка физически не прокачивает(суммарный траф(через lagg1) около 133Мбит)

пинги до внутреннего ифейса(lagg1 1.2.3.9) идут с потерями с соседней железки.

 

До lagg1 весь внутренний траффик был на em1, появились потери, подняли транк, хватило его ровно на 10 дней, появились снова потери(до 15% в часпик).

 

Можно ли еще что-то сделать или пора на помойку железке? стоит ли попробовать шелудер сменить с дефолтного ULE на 4BSD? или драйвера от Yandex?

 

 

Есть роутер:

FreeBSD 7.1-PRERELEASE #6: Wed Dec 10 06:13:49 MSK 2008

xeon@local:/usr/obj/usr/src/sys/XEON

Timecounter "i8254" frequency 1193182 Hz quality 0

CPU: Intel® Xeon CPU 2.40GHz (2399.34-MHz 686-class CPU)

Origin = "GenuineIntel" Id = 0xf29 Stepping = 9

Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLU

SH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>

Features2=0x4400<CNXT-ID,xTPR>

Logical CPUs per core: 2

real memory = 1073676288 (1023 MB)

avail memory = 1036963840 (988 MB)

ACPI APIC Table: <A M I OEMAPIC >

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs

 

В ядре выкинуты все лишние драйвера, пулинга нет.

 

Шуршит в качестве nat(pfnat) и роутера на 4ре аплинка, поднята квага и рип, генерируется статистика(с lagg1) через ng_netflow, висит nginx отдаёт статику.

 

 

на текущий момент:

 

на em0 живут аплинковские vlan

$netstat -I em0 -w 1

input (em0) output

packets errs bytes packets errs bytes colls

21458 0 16330004 20084 0 5834384 0

21329 0 16088457 19349 0 5611529 0

21661 0 16512137 19138 0 5656479 0

21813 0 16718010 19213 0 5624945 0

23785 0 18501286 20980 0 6230310 0

18858 0 14507804 16690 0 4903163 0

 

lagg1 смотрит в сторону access-серверов на которые терминируются юзеры

$netstat -I lagg1 -w 1

input (lagg1) output

packets errs bytes packets errs bytes colls

18155 0 5492387 19046 0 15541118 0

17648 0 5518830 19507 0 16102338 0

17816 0 5427233 18913 0 15587400 0

16982 0 5023289 19000 0 15801308 0

16904 0 5114675 18508 0 15339718 0

 

суммарно через роутер:

$netstat -w 1

input (Total) output

packets errs bytes packets errs bytes colls

78781 929 43063253 76970 0 42901884 0

76415 0 42439810 75196 0 42416836 0

78319 219 43027608 78203 0 42988522 0

79324 246 44338266 76648 0 44300373 0

84841 128 47758663 83715 0 47686140 0

75027 0 41247914 74211 0 41036350 0

79282 382 43787051 77293 0 43684041 0

 

lagg1 собран так:

lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>

ether 00:11:0a:5a:ec:bb

inet 1.2.3.9 netmask 0xffffff00 broadcast 1.2.3.255

media: Ethernet autoselect

status: active

laggproto lacp

laggport: bge1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

laggport: em1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

(bge0 не исспользуется, как и lagg1)

 

на борту двухпортовый PCI-X Intel:

em0@pci0:1:6:0: class=0x020000 card=0x00db0e11 chip=0x10108086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = '82546EB Dual Port Gigabit Ethernet Controller (Copper)'

class = network

subclass = ethernet

 

и onboard Broadcom:

bge0@pci0:2:0:0: class=0x020000 card=0x164814e4 chip=0x164814e4 rev=0x02 hdr=0x00

vendor = 'Broadcom Corporation'

device = 'BCM5704 NetXtreme Dual Gigabit Adapter'

class = network

subclass = ethernet

 

 

em0: <Intel® PRO/1000 Network Connection 6.9.6> port 0xe880-0xe8bf mem 0xfeac0000-0xfeadffff,0xfea80000-0xfeabffff irq 22 at device 6.0 on pci1

em0: [FILTER]

em0: Ethernet address: 00:11:0a:5a:ec:ba

em1: <Intel® PRO/1000 Network Connection 6.9.6> port 0xec00-0xec3f mem 0xfeae0000-0xfeafffff irq 21 at device 6.1 on pci1

em1: [FILTER]

em1: Ethernet address: 00:11:0a:5a:ec:bb

bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x2002> mem 0xfebc0000-0xfebcffff,0xfebb0000-0xfebbffff irq 19 at device 0.0 on pci2

miibus0: <MII bus> on bge0

brgphy0: <BCM5704 10/100/1000baseTX PHY> PHY 1 on miibus0

brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

bge0: Ethernet address: 00:12:79:91:3b:ce

bge0: [iTHREAD]

bge1: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x2002> mem 0xfebf0000-0xfebfffff,0xfebe0000-0xfebeffff irq 18 at device 0.1 on pci2

miibus1: <MII bus> on bge1

brgphy1: <BCM5704 10/100/1000baseTX PHY> PHY 1 on miibus1

brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

bge1: Ethernet address: 00:12:79:91:3b:cf

bge1: [iTHREAD]

 

 

/boot/loader.conf

pf_load="YES"

pflog_load="YES"

ng_ether_load="YES"

ng_ksocket_load="YES"

ng_netflow_load="YES"

if_lagg_load="YES"

 

#kern.hz=500

 

hw.em.rxd=4096

hw.em.txd=4096

 

hw.bge.rxd=512

hw.bge.rx_int_delay=100

hw.bge.tx_int_delay=500

hw.bge.rx_coal_desc=64

hw.bge.tx_coal_desc=128

net.inet.tcp.tcbhashsize=1024

#hw.intr_storm_threshold=5000 #def: 1000

 

 

/etc/sysctl.conf

kern.sync_on_panic=1

 

#настройки скорости стека

kern.ipc.maxsockbuf=5242880

net.inet.tcp.delayed_ack=0

net.inet.tcp.always_keepalive=1

net.inet.tcp.keepidle=3600000

net.inet.tcp.msl=2500

net.inet.udp.checksum=0

 

#kern.ipc.somaxconn=512

net.inet.tcp.rfc1323=1

net.inet.ip.random_id=1

#net.inet.ip.ttl=254

 

net.inet.ip.fastforwarding=1

 

net.inet.icmp.icmplim=100

net.inet.icmp.icmplim_output=0 #no log

net.inet6.icmp6.rediraccept=0

 

net.inet.tcp.sendspace=524288

net.inet.tcp.recvspace=524288

net.local.stream.recvspace=524288

net.local.stream.sendspace=524288

net.inet.raw.maxdgram=16384

net.inet.raw.recvspace=16384

net.inet.tcp.recvbuf_max=524288

net.inet.tcp.recvbuf_inc=16384

net.inet.tcp.sendbuf_max=524288

net.inet.tcp.sendbuf_inc=16384

 

#kern.ipc.nmbclusters=512000

kern.ipc.nmbclusters=1024000

net.inet.ip.intr_queue_maxlen=5000

net.route.netisr_maxqlen=1024

net.isr.direct=0 # если ставить 1 то роутеру еще сильнее плохеет.

 

#dev.em.0.rx_processing_limit=-1

#dev.em.1.rx_processing_limit=-1

dev.em.0.rx_processing_limit=5000

dev.em.1.rx_processing_limit=5000

 

 

в top -S

last pid: 30546; load averages: 2.32, 2.44, 2.41 up 11+04:28:42 15:45:50

86 processes: 8 running, 64 sleeping, 14 waiting

CPU: 0.1% user, 0.0% nice, 44.7% system, 19.5% interrupt, 35.8% idle

Mem: 32M Active, 377M Inact, 233M Wired, 27M Cache, 111M Buf, 323M Free

Swap: 1024M Total, 1024M Free

 

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

34 root 1 -68 - 0K 8K CPU0 0 163.8H 100.0% em1 taskq

33 root 1 -68 - 0K 8K CPU2 3 163.3H 82.28% em0 taskq

11 root 1 171 ki31 0K 8K RUN 3 235.8H 81.59% idle: cpu3

15 root 1 -44 - 0K 8K CPU1 1 557:35 57.28% swi1: net

13 root 1 171 ki31 0K 8K RUN 1 241.3H 48.19% idle: cpu1

12 root 1 171 ki31 0K 8K RUN 2 104.7H 20.36% idle: cpu2

16 root 1 -32 - 0K 8K WAIT 3 936:20 9.28% swi4: clock sio

36 root 1 -68 - 0K 8K WAIT 3 721:09 8.59% irq18: bge1

14 root 1 171 ki31 0K 8K RUN 0 103.7H 4.69% idle: cpu0

40 root 1 8 - 0K 8K pftm 1 217:36 1.37% pfpurge

 

systat -vm 1

Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER

Tot Share Tot Share Free in out in out

Act 26044 4792 111420 7396 359728 count

All 212104 7400 2264636 18268 pages

Proc: Interrupts

r p d s w Csw Trp Sys Int Sof Flt cow 16513 total

1 37 23k 10 135 8512 7833 zfod atkbd0 1

ozfod ata0 irq14

43.8%Sys 18.9%Intr 0.0%User 0.0%Nice 37.3%Idle %ozfod 5101 bge1 irq18

| | | | | | | | | | | daefr bge0 irq19

======================+++++++++ prcfr 574 em1 irq21

16 dtbuf totfr 2838 em0 irq22

Namei Name-cache Dir-cache 69724 desvn react 2000 cpu0: time

Calls hits % hits % 56175 numvn pdwak 2000 cpu1: time

17369 frevn pdpgs 2000 cpu2: time

intrn 2000 cpu3: time

Disks ad0 237360 wire

KB/t 0.00 33000 act

tps 0 386044 inact

MB/s 0.00 27968 cache

%busy 0 331760 free

113488 buf

 

netstat -m

10680/5310/15990 mbufs in use (current/cache/total)

10628/4514/15142/1024000 mbuf clusters in use (current/cache/total/max)

10628/4387 mbuf+clusters out of packet secondary zone in use (current/cache)

0/87/87/12800 4k (page size) jumbo clusters in use (current/cache/total/max)

0/0/0/6400 9k jumbo clusters in use (current/cache/total/max)

0/0/0/3200 16k jumbo clusters in use (current/cache/total/max)

24040K/10703K/34743K bytes allocated to network (current/cache/total)

0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)

0/0/0 requests for jumbo clusters denied (4k/9k/16k)

0/40/6656 sfbufs in use (current/peak/max)

0 requests for sfbufs denied

0 requests for sfbufs delayed

40 requests for I/O initiated by sendfile

0 calls to protocol drain routines

 

Share this post


Link to post
Share on other sites

Помоему поллинг включить надоть. А вот с ним на 7.1 и emках у меня есть проблемы.... Растет задержка в 2-4 раза и начинаются потери пакетов....

Edited by McLaut

Share this post


Link to post
Share on other sites
Помоему поллинг включить надоть. А вот с ним на 7.1 и emках у меня есть проблемы.... Растет задержка в 2-4 раза и начинаются потери пакетов....
Не, полинг мне не помогает, даже с настройками оного. Утилизация канала падает, геймеры начинают вопить жутко из-за возрастающих задержек.

 

В принципе интерактивность на этой машине не нужна, nginx можно убрать и пусть молотит только пакеты.

Edited by XeonVs

Share this post


Link to post
Share on other sites

Как вы себе представляете процесс выжима более 20Kpps без полинга? Это ж на каждый пакет генерируется прерывание и переключение контекста.

Share this post


Link to post
Share on other sites
Как вы себе представляете процесс выжима более 20Kpps без полинга? Это ж на каждый пакет генерируется прерывание и переключение контекста.
А что, интел уже разучился делать отложенные прерывания? Оно очень замечательно работает, что в приведённом систате видно вполне.

 

или вот текущие данные:

48.8%Sys 15.1%Intr 0.0%User 0.0%Nice 36.1%Idle

Interrupts

14242 total

конкретно по em и bge

5334 bge1 irq18

4 em1 irq21

910 em0 irq22

 

трафик такой:

input (lagg1) output

packets errs bytes packets errs bytes colls

17163 0 3860672 19429 0 14447468 0

17223 0 3908752 19328 0 14374248 0

16866 0 3813949 19083 0 14188365 0

 

Share this post


Link to post
Share on other sites

Недавно пытался тюнить 7.1 B2 - все во вред, кроме options KVA_PAGES=512 и sysctl net.inet.ip.fw.dyn_max=60000

В данном случае похоже чето нетак с настройками EMx,

MPD с шифрованием 835 тунелей + NAT + шейрер 1/3 на проце e4700:

 

59 processes: 4 running, 44 sleeping, 11 waiting

CPU: 2.8% user, 0.0% nice, 14.5% system, 38.9% interrupt, 43.8% idle

Mem: 26M Active, 134M Inact, 197M Wired, 60K Cache, 199M Buf, 1635M 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 434:11 85.60% swi1: net

11 root 1 171 ki31 0K 8K RUN 1 117.6H 54.98% idle: cpu1

12 root 1 171 ki31 0K 8K RUN 0 117.4H 36.57% idle: cpu0

22 root 1 -68 - 0K 8K - 1 62:48 11.67% em1 taskq

21 root 1 -68 - 0K 8K - 0 39:33 5.08% em0 taskq

 

24351 0 29975790 15489 0 2559236 0

input (vlan41) output

packets errs bytes packets errs bytes colls

24210 0 29669317 15503 0 2372620 0

24228 0 29485240 15423 0 2353263 0

24661 0 30422522 15532 0 2451913 0

(аплинк)

При включении полига плохеет сразу.

net.isr.direct: 1

Советую попробовать дефолтные параметры на EMx поставить

dev.em.0.rx_int_delay: 0

dev.em.0.tx_int_delay: 66

dev.em.0.rx_abs_int_delay: 66

dev.em.0.tx_abs_int_delay: 66

Edited by IvanI

Share this post


Link to post
Share on other sites

на EMх по дефолту всё кроме

dev.em.0.rx_processing_limit=5000

dev.em.1.rx_processing_limit=5000

 

от этого им сильно легчает.

 

ipfw на тачке, нет она только натит и роутит.

 

Планирую поэксперементировать с шедулером 4BSD и драйверами от яндекса.

 

вот еще информация по sysctl -w dev.em.1.stats=1

 

Dec 21 22:36:13 core kernel: em1: Excessive collisions = 0

Dec 21 22:36:13 core kernel: em1: Sequence errors = 0

Dec 21 22:36:13 core kernel: em1: Defer count = 0

Dec 21 22:36:13 core kernel: em1: Missed Packets = 307719088

Dec 21 22:36:13 core kernel: em1: Receive No Buffers = 133225827

Dec 21 22:36:13 core kernel: em1: Receive Length Errors = 0

Dec 21 22:36:13 core kernel: em1: Receive errors = 0

Dec 21 22:36:13 core kernel: em1: Crc errors = 0

Dec 21 22:36:13 core kernel: em1: Alignment errors = 0

Dec 21 22:36:13 core kernel: em1: Collision/Carrier extension errors = 0

Dec 21 22:36:13 core kernel: em1: RX overruns = 660938

Dec 21 22:36:13 core kernel: em1: watchdog timeouts = 0

Dec 21 22:36:13 core kernel: em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0

Dec 21 22:36:13 core kernel: em1: XON Rcvd = 0

Dec 21 22:36:13 core kernel: em1: XON Xmtd = 0

Dec 21 22:36:13 core kernel: em1: XOFF Rcvd = 0

Dec 21 22:36:13 core kernel: em1: XOFF Xmtd = 0

Dec 21 22:36:13 core kernel: em1: Good Packets Rcvd = 15302236564

Dec 21 22:36:13 core kernel: em1: Good Packets Xmtd = 8281000761

Dec 21 22:36:13 core kernel: em1: TSO Contexts Xmtd = 0

Dec 21 22:36:13 core kernel: em1: TSO Contexts Failed = 0

 

Edited by XeonVs

Share this post


Link to post
Share on other sites

Это дуал хеон с хипер трейдингом?

может погасить в биосе хипер трейдинг?

Share this post


Link to post
Share on other sites
Это дуал хеон с хипер трейдингом?

может погасить в биосе хипер трейдинг?

Это пролиант DL140G2 если мне память не изменяет и там торчит честные 2а двухядерника.

Share this post


Link to post
Share on other sites

Аналогичные проблемы на ксеоне квадро. НАС с мпд+radius+mysql при 400 тунелях растут input err, длинные пинги, потери пакетов. Поллинг включен, потому как без него прерывания под 70% и мускул просто мрет.

Поясните плиз, за что отвечает net.isr.direct?

Иван, а у вас только на 7.1 так прекрасно все, или на более ранних версиях тоже тянуло нормально? И сколько у вас HZ?

Edited by Alexandr Ovcharenko

Share this post


Link to post
Share on other sites
Аналогичные проблемы на ксеоне квадро. НАС с мпд+radius+mysql при 400 тунелях растут input err, длинные пинги, потери пакетов. Поллинг включен, потому как без него прерывания под 70% и мускул просто мрет.

Поясните плиз, за что отвечает net.isr.direct?

Иван, а у вас только на 7.1 так прекрасно все, или на более ранних версиях тоже тянуло нормально? И сколько у вас HZ?

net.isr.direct если я правельно понял: отвечает за то, что пакет будет буферезован перед обработкой или сразу передан обработчику.

Share this post


Link to post
Share on other sites

на 6.2 полинг и все ложится на 1 ядро - трафа молотит в 3 раза меньше, 3 ядра на квадрике почти простой

kern.clockrate: { hz = 1000, tick = 1000, profhz = 2000, stathz = 133 }

 

Edited by IvanI

Share this post


Link to post
Share on other sites

а по pps ситуация какая?

Share this post


Link to post
Share on other sites

            input          (em2)           output
   packets  errs      bytes    packets  errs      bytes colls
     31249     0   15051332      31039     0   14826913     0
     31707     0   15424506      31515     0   15227260     0
     28896     0   13459091      28755     0   13331146     0
     29377     0   13920394      29122     0   13683082     0
     31283     0   14920905      31046     0   14646570     0
     32444     0   15803673      32250     0   15592631     0
     32004     0   14917753      31820     0   14721157     0
     29933     0   14420014      29754     0   14293812     0
     30531     0   14881731      30431     0   14747242     0
     31080     0   15141312      30947     0   15001942     0
     30445     0   14323316      30235     0   14143435     0
     31747     0   15635397      31473     0   15316666     0
     31730     0   15828726      31635     0   15710754     0
     31914     0   15699544      31712     0   15457026     0
     30467     0   14187655      30343     0   14090863     0
     31521     0   14750845      31375     0   14607259     0
     30224     0   14390702      30034     0   14149559     0
     30660     0   14538103      30524     0   14433042     0
     30944     0   14618312      30885     0   14547628     0
     31485     0   14558259      31327     0   14383533     0
     30898     0   14695396      30717     0   14521807     0

 

Я считаю примерно так:

Физический уровень.

Сетевые еm(4) имеет буферы приема/передачи 4096;

Поллинг не используем, а работаем с отложенными прерываниями - пакетный/абслоютный таймер приема/передачи 600/1000 соотвественно (примерно соответсвует HZ=1000);

Максимальное число пакетов на прием, не более величины буферов на прием - у меня 1024.

hw.em.rxd=4096

hw.em.txd=4096

dev.em.2.rx_int_delay: 600

dev.em.2.tx_int_delay: 600

dev.em.2.rx_abs_int_delay: 1000

dev.em.2.tx_abs_int_delay: 1000

dev.em.2.rx_processing_limit: 1024

Согласно man em(4) dev.em.2.rx_int_delay д.б. равно 0, во избежание watchdog timeout.

У меня выше описанная ситуация не возникала.

 

Очереди.

Максимальная величина очереди на прием (backlog) - как минимум должна быть равна величине буфера на прием - 5120.

net.inet.ip.intr_queue_maxlen: 5120

 

Протоколы (я только пересылаю трафик далее по маршруту, поэтому тюнить TCP пока смысла не вижу):

net.isr.direct = 1

net.inet.ip.fastforwarding=1 - аналог CEF в Cisco;

kern.ipc.nmbclusters=32768 - увеличиваем число mbuf;

 

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

Edited by Dm1try

Share this post


Link to post
Share on other sites

Попробовал драйвера от яндекса, картина такая:

 

sysctl net.inet.ip|grep intr_queue

net.inet.ip.intr_queue_maxlen: 5000

net.inet.ip.intr_queue_drops: 0

 

sysctl dev.em

dev.em.1.%desc: Intel® PRO/1000 Network Connection 6.9.6.Yandex[$Revision: 1.36.2.8 $]

dev.em.1.%driver: em

dev.em.1.%location: slot=6 function=1

dev.em.1.%pnpinfo: vendor=0x8086 device=0x1010 subvendor=0x0e11 subdevice=0x00db class=0x020000

dev.em.1.%parent: pci1

dev.em.1.debug: -1

dev.em.1.stats: -1

dev.em.1.rx_kthreads: 2

dev.em.1.rx_int_delay: 0

dev.em.1.tx_int_delay: 0

dev.em.1.rx_abs_int_delay: 66

dev.em.1.tx_abs_int_delay: 66

dev.em.1.rx_kthread_priority: 127

 

netstat -I lagg1 -w 1

input (lagg1) output

packets errs bytes packets errs bytes colls

17773 0 5438100 18217 0 15030587 0

17663 0 5592672 18436 0 15425355 0

17559 0 5595251 18374 0 15299090 0

17688 0 5588071 18735 0 15823793 0

17802 0 5544531 18473 0 15351332 0

17818 0 5656918 18756 0 15566141 0

18162 0 5823371 18391 0 15035471 0

19218 0 6264010 20024 0 16581522 0

16642 0 5338077 17369 0 14155127 0

 

systat -vm 1

Load 5.51 5.04 4.24

90.5%Sys 5.4%Intr 0.2%User 0.0%Nice 3.9%Idle

Interrupts

14168 total

5196 bge1 irq18

971 em1 irq21

35 em0 irq22

2000 cpu0: time

 

планировщик ULE.

 

видимо машинке пора на пенсию. :(

 

PS статистика по размеру пакета с магистрального коммутатора.

System Up time: 70 days, 7 hours, 7 minutes, and 32.75 seconds

Packet size <= 64 octets: 3362184414, Packet size 65 to 127 octets: 1717911506

Packet size 128 to 255 octets: 1479001612, Packet size 256 to 511 octets: 3604545037

Packet size 512 to 1023 octets: 1386903539, Packet size 1024 to 1518 octets: 2079749662

 

Edited by XeonVs

Share this post


Link to post
Share on other sites

FreeBSD 7.1-PRERELEASE #0: Fri Dec 12 17:34:46 EET 2008

netstat -rn | wc -l

2181

 

ifconfig | grep inet | wc -l

70

vlans + ng*:

netstat -w1

input (Total) output

packets errs bytes packets errs bytes colls

107450 0 71413988 106763 0 68939699 0

105262 0 70473748 104824 0 68799861 0

100030 0 70534733 99318 0 68162591 0

101671 0 65818944 101048 0 63390775 0

101376 0 64702598 100599 0 61565625 0

85564 0 60970123 84912 0 59522751 0

^C

top -SP

last pid: 68538; load averages: 0.43, 0.40, 0.40 up 9+03:49:32 15:45:27

80 processes: 5 running, 63 sleeping, 12 waiting

CPU 0: % user, % nice, % system, % interrupt, % idle

CPU 1: % user, % nice, % system, % interrupt, % idle

CPU 2: % user, % nice, % system, % interrupt, % idle

CPU 3: % user, % nice, % system, % interrupt, % idle

Mem: 160M Active, 281M Inact, 166M Wired, 116K Cache, 112M Buf, 1390M Free

Swap: 4096M Total, 4096M Free

 

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

14 root 1 171 ki31 0K 8K CPU0 0 219.0H 100.00% idle: cpu0

13 root 1 171 ki31 0K 8K RUN 1 218.7H 100.00% idle: cpu1

11 root 1 171 ki31 0K 8K CPU3 3 216.3H 100.00% idle: cpu3

12 root 1 171 ki31 0K 8K CPU2 2 160.2H 56.05% idle: cpu2

25 root 1 -68 - 0K 8K - 2 59.5H 48.68% em0 taskq

26 root 1 -68 - 0K 8K - 3 187:09 0.00% em1 taskq

16 root 1 -32 - 0K 8K WAIT 0 38:34 0.00% swi4: clock sio

1911 root 1 44 0 9176K 5304K select 1 29:39 0.00% snmpd

18 root 1 44 - 0K 8K - 3 25:28 0.00% yarrow

32 root 1 -68 - 0K 8K - 0 21:27 0.00% dummynet

37 root 1 20 - 0K 8K syncer 0 12:14 0.00% syncer

1851 bind 7 44 0 173M 148M select 3 1:32 0.00% named

 

Share this post


Link to post
Share on other sites
FreeBSD 7.1-PRERELEASE #0: Fri Dec 12 17:34:46 EET 2008
что за железо и какие EM?

 

Share this post


Link to post
Share on other sites

pciconf -lv

hostb0@pci0:0:0:0: class=0x060000 card=0x59581002 chip=0x59581002 rev=0x00 hdr=0x00

vendor = 'ATI Technologies Inc'

device = 'RD780 GFX Dual Slot'

class = bridge

subclass = HOST-PCI

pcib1@pci0:0:5:0: class=0x060400 card=0x59581002 chip=0x597b1002 rev=0x00 hdr=0x01

vendor = 'ATI Technologies Inc'

device = 'RD790 PCI to PCI bridge (PCIe gpp port B)'

class = bridge

subclass = PCI-PCI

pcib2@pci0:0:6:0: class=0x060400 card=0x59581002 chip=0x597c1002 rev=0x00 hdr=0x01

vendor = 'ATI Technologies Inc'

device = 'RD790 PCI to PCI bridge (PCIe gpp port C)'

class = bridge

subclass = PCI-PCI

скипп...

em0@pci0:1:0:0: class=0x020000 card=0x10828086 chip=0x107d8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'PRO/1000 PT'

class = network

subclass = ethernet

em1@pci0:2:0:0: class=0x020000 card=0x10828086 chip=0x107d8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'PRO/1000 PT'

class = network

subclass = ethernet

 

less /var/run/dmesg.boot

 

FreeBSD 7.1-PRERELEASE #0: Fri Dec 12 17:34:46 EET 2008

root@router..........:/usr/obj/usr/src/sys/PPPoE

Timecounter "i8254" frequency 1193182 Hz quality 0

CPU: AMD Phenom 9850 Quad-Core Processor (2511.45-MHz 686-class CPU)

Origin = "AuthenticAMD" Id = 0x100f23 Stepping = 3

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLU

SH,MMX,FXSR,SSE,SSE2,HTT>

Features2=0x802009<SSE3,MON,CX16,POPCNT>

AMD Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>

AMD Features2=0x7ff<LAHF,CMP,SVM,ExtAPIC,CR8,<b5>,<b6>,<b7>,Prefetch,<b9>,<b10>>

Cores per package: 4

real memory = 2146304000 (2046 MB)

avail memory = 2090676224 (1993 MB)

ACPI APIC Table: <GBT GBTUACPI>

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs

Edited by Latik

Share this post


Link to post
Share on other sites
pciconf -lv

скипп...

em0@pci0:1:0:0: class=0x020000 card=0x10828086 chip=0x107d8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'PRO/1000 PT'

class = network

subclass = ethernet

less /var/run/dmesg.boot

 

FreeBSD 7.1-PRERELEASE #0: Fri Dec 12 17:34:46 EET 2008

root@router..........:/usr/obj/usr/src/sys/PPPoE

Timecounter "i8254" frequency 1193182 Hz quality 0

CPU: AMD Phenom 9850 Quad-Core Processor (2511.45-MHz 686-class CPU)

Origin = "AuthenticAMD" Id = 0x100f23 Stepping = 3

Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLU

SH,MMX,FXSR,SSE,SSE2,HTT>

Features2=0x802009<SSE3,MON,CX16,POPCNT>

AMD Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>

AMD Features2=0x7ff<LAHF,CMP,SVM,ExtAPIC,CR8,<b5>,<b6>,<b7>,Prefetch,<b9>,<b10>>

Cores per package: 4

real memory = 2146304000 (2046 MB)

avail memory = 2090676224 (1993 MB)

ACPI APIC Table: <GBT GBTUACPI>

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs

понятно, торчат Intel 82572EI PCI-X Gigabit Ethernet, более новый чипсет + amd64 и просто терминация траффика без NAT.

 

PPS суммарный почти соизмерим.

input (Total) output

packets errs bytes packets errs bytes colls

85957 1812 44502780 84728 0 44110032 0

84881 718 43029585 83193 0 42618372 0

83619 2119 42403178 81304 0 42032610 0

83456 1666 42487519 82952 0 42141563 0

81691 1067 41220009 79877 0 40983927 0

83979 2307 42251030 82030 0 41990003 0

91962 1628 47389631 88898 0 47126873 0

 

Share this post


Link to post
Share on other sites

Вот именно

просто терминация траффика без NAT
.

Работает просто как роутер между вланами. PPS текущий

[16:14][latik@router]/home/latik/> netstat -w1

input (Total) output

packets errs bytes packets errs bytes colls

148884 0 113197609 147776 0 112602484 0

157563 0 114820860 157343 0 114346818 0

156878 0 120222957 156600 0 119719719 0

150259 0 109570756 150026 0 109125687 0

156293 0 112987057 155076 0 112385898 0

160969 0 111326746 155246 0 110449837 0

150151 0 110615130 149887 0 110018487 0

157330 0 123361308 157102 0 122759847 0

149287 0 116987905 149085 0 116499038 0

Попоже ппсы еще вырастут, а errs=0. Я думаю что как "Софтроутер на базе FreeBSD 7.1" железяка тянет.

Share this post


Link to post
Share on other sites
Вот именно
просто терминация траффика без NAT
.

Работает просто как роутер между вланами. PPS текущий

[16:14][latik@router]/home/latik/> netstat -w1

input (Total) output

packets errs bytes packets errs bytes colls

148884 0 113197609 147776 0 112602484 0

157563 0 114820860 157343 0 114346818 0

156878 0 120222957 156600 0 119719719 0

150259 0 109570756 150026 0 109125687 0

156293 0 112987057 155076 0 112385898 0

160969 0 111326746 155246 0 110449837 0

150151 0 110615130 149887 0 110018487 0

157330 0 123361308 157102 0 122759847 0

149287 0 116987905 149085 0 116499038 0

Попоже ппсы еще вырастут, а errs=0. Я думаю что как "Софтроутер на базе FreeBSD 7.1" железяка тянет.

похоже что тянет.

у меня на уровне терминации vlanов такая картина:

netstat -w 1

input (Total) output

packets errs bytes packets errs bytes colls

754934 224 685575710 765885 0 712842473 0

750061 503 683571120 755321 0 692000100 0

733090 0 665986161 742554 0 689593158 0

740382 20 674727304 748520 0 684713034 0

742035 606 654749604 757089 0 689670829 0

755373 1291 662550488 766755 0 705252954 0

758293 199 682922015 771453 0 708763827 0

 

Share this post


Link to post
Share on other sites

Была поставлена сегодня такая машинка:

CPU: Intel® Xeon® CPU E5345 @ 2.33GHz (2327.51-MHz 686-class CPU)

Origin = "GenuineIntel" Id = 0x6f7 Stepping = 7

FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs

платформа i386

 

на текущий момент:

packets errs bytes packets errs bytes colls

30383 0 9229809 30532 0 24091747 0

28177 0 8469789 27965 0 22293253 0

29012 0 8748717 29038 0 23106615 0

28822 0 8841017 28500 0 22885280 0

29176 0 9021650 29540 0 23903940 0

28794 0 8890424 28937 0 23164996 0

 

last pid: 21566; load averages: 1.77, 1.60, 1.55

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

16 root 1 171 ki31 0K 8K CPU2 2 507:05 102.25% idle: cpu2

14 root 1 171 ki31 0K 8K CPU4 4 507:11 102.10% idle: cpu4

15 root 1 171 ki31 0K 8K CPU3 3 507:01 101.86% idle: cpu3

13 root 1 171 ki31 0K 8K CPU5 5 498:46 99.71% idle: cpu5

11 root 1 171 ki31 0K 8K RUN 7 505:47 97.90% idle: cpu7

12 root 1 171 ki31 0K 8K CPU6 6 504:43 97.46% idle: cpu6

31 root 1 -68 - 0K 8K CPU0 0 298:54 83.79% em0 taskq

32 root 1 -68 - 0K 8K CPU1 1 263:31 69.78% em1 taskq

17 root 1 171 ki31 0K 8K RUN 1 259:05 35.01% idle: cpu1

18 root 1 171 ki31 0K 8K RUN 0 226:14 23.34% idle: cpu0

20 root 1 -32 - 0K 8K WAIT 6 29:07 4.35% swi4: clock sio

34 root 1 -68 - 0K 8K WAIT 5 10:42 1.81% irq17: bge1

47 root 1 8 - 0K 8K pftm 3 4:15 0.15% pfpurge

 

пока всё замечательно работает

Edited by XeonVs

Share this post


Link to post
Share on other sites

Странно как-то, у нас на более слабой машине: (Core2Duo Q6600)

 

           input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls drops
    320936     0  221724280     332582     0  238298636     0     0
    330843     0  228349436     342241     0  245038582     0     0
    333461     0  231159081     345547     0  248735056     0     0
    333134     0  230730936     346058     0  248090234     0     0
    329981     0  228275882     344016     0  247471517     0     0

 

last pid: 23089;  load averages:  1.06,  0.99,  0.99                                    up 0+13:31:11  20:51:45
88 processes:  7 running, 66 sleeping, 15 waiting
CPU:  0.0% user,  0.0% nice, 25.7% system,  1.0% interrupt, 73.3% idle
Mem: 218M Active, 11M Inact, 81M Wired, 208K Cache, 16M Buf, 679M Free
Swap: 1024M Total, 1024M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   50 root          1 171 ki31     0K     8K CPU2   2 809:07 100.00% idlepoll
   14 root          1 171 ki31     0K     8K RUN    0 546:47 78.37% idle: cpu0
   12 root          1 171 ki31     0K     8K RUN    2 523:22 78.08% idle: cpu2
   11 root          1 171 ki31     0K     8K RUN    3 512:33 60.01% idle: cpu3
   13 root          1 171 ki31     0K     8K CPU1   1 509:19 59.33% idle: cpu1
   15 root          1 -44    -     0K     8K CPU0   0 307:12 25.24% swi1: net
   16 root          1 -32    -     0K     8K WAIT   2  11:09  0.54% swi4: clock sio
1403 root          1  44    0   131M   131M select 1   4:52  0.00% bgpd
   46 root          1 -68    -     0K     8K -      2   3:27  0.00% dummynet

 

Роль машины - бордер, с тремя em и пачкой vlan.

Edited by Alexey K

Share this post


Link to post
Share on other sites
Странно как-то, у нас на более слабой машине: (Core2Duo Q6600)

 

           input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls drops
    320936     0  221724280     332582     0  238298636     0     0
    330843     0  228349436     342241     0  245038582     0     0
    333461     0  231159081     345547     0  248735056     0     0
    333134     0  230730936     346058     0  248090234     0     0
    329981     0  228275882     344016     0  247471517     0     0

Роль машины - бордер, с тремя em и пачкой vlan.

а нат есть?

 

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

 

Share this post


Link to post
Share on other sites

NAT становится узким местом при большом колличестве трансляций, у себя решил эту проблему сделав 30 нод NG_NAT

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this