dagtkrus Posted March 31, 2013 Добрый день! Помогите разобраться с проблемой: В данный момент поднят НАС сервер на FreeBSD 8.2-STABLE, процессор Xeon, 4G ОЗУ. Сетевые платы стоят от Интел. em0 (смотрит в локальную сеть) em1 (смотрит в интернет) igb0 (для стыка с биллингом) Входящий трафик забит под 1 Гиг. Колличество абонентов около 4000. Подключаются по pptp Поднят mpd 5.5 НАТа нету, всем выдаются внешние адреса. IPFW тоже нет. Тунели шейпит mpd Нагрузка на проц - 40-50%. Все работает идеально уже больше года. В связи с тем что гигабитной карты уже не хватает, а вставить дополнительную нет возможности приобрели другой сервер, на порядок мощнее. 2 Процессора Xeon® E5-2620, 32GB ОЗУ, 2 встроенные сетевые Intel® i350 PCI-E. Дополнительно установили сетевые: Intel I350 F2 (для стыка в интернет. планируется поднять LACP и объеденить 2 порта) Intel E10G42BTDA 10GB (смотрит в локальную сеть) Настроили так же как и первый, только igb0 смотрит в биллинг igb2 смотрит в интернет. ix0 смотрит в локальную сеть. Запускаем, все работает нормально, как только количество абонентов увеличивается более 2000, нагрузка подходит к 400 мбит/с происходит резкий скачок загрузки процесоров под 100%, увеличиваются задержки пакетов, канал выше 400 мбит не поднимается. Каких либо аномалий в момент нагрузки CPU вроде резкого скачка трафика или увеличения pps не замечали. Процессор грузят прерывания igb. Отключили Гипертрейдинг, пробовали уменьшить количество используемых ядер для igb, изменяли параметры sysctl, поднимали интерфейсы с параметрами -rxcsum -txcsum -lro -tso up, - ничего не помогло. Ставили FreeBSD 9.1, потом откатились до 8.3-STABLE. Результат тот же самый. Подскажите, что еще можно предпринять. В данный момент стоит 8.3-STABLE, настройки такие: cat /etc/sysctl.conf net.graph.maxdgram=8388608 net.graph.recvspace=8388608 kern.ipc.nmbclusters=400000 kern.ipc.maxsockbuf=83886080 net.inet.ip.fastforwarding=1 net.inet.ip.intr_queue_maxlen=10240 net.inet.icmp.icmplim=500 hw.intr_storm_threshold=9000 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.point_to_point=0 kern.random.sys.harvest.interrupt=0 kern.ipc.nmbjumbop=262144 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=0 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.ip.redirect=0 net.inet.ip.sourceroute=0 net.inet.icmp.bmcastecho=0 net.inet.tcp.drop_synfin=1 net.inet.tcp.syncookies=1 kern.ipc.somaxconn=32768 kern.maxfiles=204800 kern.maxfilesperproc=200000 dev.igb.0.rx_processing_limit=4096 dev.igb.1.rx_processing_limit=4096 net.route.netisr_maxqlen=4096 hw.intr_storm_threshold=9000 cat /boot/loader.conf net.graph.maxdata=65536 net.graph.maxalloc=65536 kern.ipc.nmbclusters=262144 kern.ipc.nmbjumbop=262144 hw.igb.rxd=4096 hw.igb.txd=4096 hw.igb.rx_process_limit=4096 hw.igb.lro=0 hw.igb.fc_setting=0 hw.igb.max_interrupt_rate=32000 net.isr.defaultqlimit=4096 net.link.ifqmaxlen=10240 net.inet.tcp.syncache.hashsize=1024 net.inet.tcp.syncache.bucketlimit=100 net.inet.tcp.tcbhashsize=4096 Изначально ставили такие же как на старом сервере: cat /etc/sysctl.conf net.graph.maxdgram=8388608 net.graph.recvspace=8388608 kern.ipc.nmbclusters=400000 kern.ipc.maxsockbuf=83886080 net.inet.ip.fastforwarding=1 net.inet.ip.intr_queue_maxlen=10240 net.inet.icmp.icmplim=500 cat /boot/loader.conf net.graph.maxdata=65536 net.graph.maxalloc=65536 В момент нагрузки показывает: top -SHPI last pid: 10450; load averages: 17.40, 10.87, 6.22 up 0+04:16:53 10:00:00 219 processes: 35 running, 114 sleeping, 69 waiting, 1 lock CPU 0: 0.4% user, 0.0% nice, 80.5% system, 9.0% interrupt, 10.1% idle CPU 1: 0.0% user, 0.0% nice, 82.4% system, 9.4% interrupt, 8.2% idle CPU 2: 0.7% user, 0.0% nice, 82.8% system, 11.6% interrupt, 4.9% idle CPU 3: 0.0% user, 0.0% nice, 85.0% system, 7.5% interrupt, 7.5% idle CPU 4: 0.4% user, 0.0% nice, 84.6% system, 8.6% interrupt, 6.4% idle CPU 5: 0.7% user, 0.0% nice, 79.8% system, 12.0% interrupt, 7.5% idle CPU 6: 1.1% user, 0.0% nice, 78.7% system, 10.4% interrupt, 9.7% idle CPU 7: 0.4% user, 0.0% nice, 80.5% system, 12.0% interrupt, 7.1% idle CPU 8: 0.0% user, 0.0% nice, 46.4% system, 50.6% interrupt, 3.0% idle CPU 9: 0.4% user, 0.0% nice, 40.4% system, 54.3% interrupt, 4.9% idle CPU 10: 0.0% user, 0.0% nice, 43.1% system, 52.1% interrupt, 4.9% idle CPU 11: 0.0% user, 0.0% nice, 45.3% system, 49.1% interrupt, 5.6% idle Mem: 99M Active, 26M Inact, 742M Wired, 12K Cache, 164M Buf, 30G Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -32 - 0K 1216K CPU1 1 27:47 66.80% intr{swi4: clock} 12 root -68 - 0K 1216K CPU10 10 23:03 65.19% intr{irq272: igb2:que} 0 root -68 0 0K 816K CPU5 5 2:18 62.79% kernel{igb2 que} 0 root -68 0 0K 816K - 5 2:20 62.50% kernel{igb2 que} 12 root -68 - 0K 1216K *netgr 9 22:10 62.06% intr{irq271: igb2:que} 12 root -68 - 0K 1216K CPU11 11 21:42 60.89% intr{irq273: igb2:que} 0 root -68 0 0K 816K - 5 2:24 59.47% kernel{igb2 que} 12 root -68 - 0K 1216K WAIT 8 22:36 58.79% intr{irq270: igb2:que} 0 root -68 0 0K 816K CPU3 0 2:11 51.56% kernel{igb2 que} 1454 root -16 - 0K 192K RUN 0 13:27 45.46% ng_queue{ng_queue1} 1454 root -16 - 0K 192K RUN 1 13:30 45.36% ng_queue{ng_queue11} 1454 root -68 - 0K 192K CPU1 5 13:30 44.68% ng_queue{ng_queue4} 1454 root -16 - 0K 192K CPU2 2 13:32 44.48% ng_queue{ng_queue0} 1454 root -16 - 0K 192K RUN 8 13:35 43.99% ng_queue{ng_queue6} 1454 root -16 - 0K 192K RUN 10 13:31 43.36% ng_queue{ng_queue8} 1454 root -16 - 0K 192K RUN 1 13:35 43.26% ng_queue{ng_queue3} 1454 root -16 - 0K 192K CPU6 6 13:35 43.16% ng_queue{ng_queue9} 1454 root -16 - 0K 192K CPU3 3 13:31 42.97% ng_queue{ng_queue5} 1454 root -16 - 0K 192K RUN 6 13:29 42.87% ng_queue{ng_queue10} 1454 root -16 - 0K 192K RUN 2 13:31 42.68% ng_queue{ng_queue2} 1454 root -16 - 0K 192K CPU0 0 13:31 41.16% ng_queue{ng_queue7} 1433 root 100 0 187M 101M RUN 5 129:52 19.09% mpd5{mpd5} 1433 root 76 0 187M 101M nanslp 0 0:00 17.97% mpd5{mpd5} 1433 root 76 0 187M 101M select 1 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 6 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 7 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 4 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 3 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 3 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 2 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 0 0:00 14.79% mpd5{mpd5} 1433 root 76 0 187M 101M select 4 0:00 14.79% mpd5{mpd5} 11 root 171 ki31 0K 192K RUN 6 215:26 8.15% idle{idle: cpu6} 11 root 171 ki31 0K 192K RUN 7 215:18 7.28% idle{idle: cpu7} 11 root 171 ki31 0K 192K RUN 0 218:52 6.88% idle{idle: cpu0} 11 root 171 ki31 0K 192K RUN 1 219:29 6.79% idle{idle: cpu1} 11 root 171 ki31 0K 192K RUN 3 219:15 6.69% idle{idle: cpu3} 11 root 171 ki31 0K 192K RUN 5 218:51 6.69% idle{idle: cpu5} 11 root 171 ki31 0K 192K RUN 4 218:20 6.59% idle{idle: cpu4} 11 root 171 ki31 0K 192K RUN 2 219:22 6.15% idle{idle: cpu2} 12 root -68 - 0K 1216K CPU2 2 10:08 4.59% intr{irq282: ix0:que } netstat -hdw1 input (Total) output packets errs idrops bytes packets errs bytes colls drops 136k 0 0 70M 149k 0 111M 0 0 134k 0 0 67M 146k 0 105M 0 0 134k 0 0 68M 148k 0 110M 0 0 142k 0 0 76M 156k 0 120M 0 0 137k 0 0 70M 149k 0 111M 0 0 134k 0 0 68M 147k 0 108M 0 0 133k 0 0 68M 143k 0 108M 0 0 138k 0 0 71M 152k 0 111M 0 0 140k 0 0 73M 151k 0 116M 0 0 systat -v Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER Tot Share Tot Share Free in out in out Act 129236 7396 647744 9188 31570k count All 358264 8932 1074580k 19244 pages Proc: Interrupts r p d s w Csw Trp Sys Int Sof Flt 63 cow 65301 total 2 49 178k 342 8142 41k 1330 372 224 zfod acpi0 irq9 ozfod 2 ehci0 16 64.8%Sys 28.3%Intr 0.5%User 0.0%Nice 6.3%Idle %ozfod 2 ehci1 23 | | | | | | | | | | | daefr 2002 cpu0: time ================================+++++++++++++++ 56 prcfr isci0 256 14 dtbuf 832 totfr isci0 258 Namei Name-cache Dir-cache 587054 desvn react 23 igb0:que 0 Calls hits % hits % 505 numvn pdwak 30 igb0:que 1 471 471 100 31 frevn pdpgs 21 igb0:que 2 intrn 18 igb0:que 3 Disks da0 da1 cd0 pass0 pass1 pass2 759448 wire igb0:link KB/t 0.00 0.00 0.00 0.00 0.00 0.00 101876 act 142 igb2:que 0 tps 0 0 0 0 0 0 26356 inact 171 igb2:que 1 MB/s 0.00 0.00 0.00 0.00 0.00 0.00 12 cache 73 igb2:que 2 %busy 0 0 0 0 0 0 31570420 free 61 igb2:que 3 167904 igb2:link 5066 ix0:que 0 4714 ix0:que 1 6339 ix0:que 2 4725 ix0:que 3 4722 ix0:que 4 5415 ix0:que 5 4597 ix0:que 6 5156 ix0:que 7 ix0:link 2 2002 cpu10: tim 2002 cpu1: time 2002 cpu8: time 2002 cpu5: time 2002 cpu6: time 2002 cpu4: time 2002 cpu2: time 2002 cpu7: time 2002 cpu3: time 2002 cpu11: tim 2002 cpu9: time netstat -Q Configuration: Setting Value Maximum Thread count 1 1 Default queue limit 4096 10240 Direct dispatch enabled n/a Forced direct dispatch enabled n/a Threads bound to CPUs disabled n/a Protocols: Name Proto QLimit Policy Flags ip 1 10240 flow --- igmp 2 4096 source --- rtsock 3 4096 source --- arp 7 4096 source --- Workstreams: WSID CPU Name Len WMark Disp'd HDisp'd QDrops Queued Handled 0 0 ip 0 0 88920739 0 0 0 88920739 igmp 0 0 0 0 0 0 0 rtsock 0 1 0 0 0 9 9 arp 0 0 25061 0 0 0 25061 vmstat -i interrupt total rate irq9: acpi0 2 0 irq16: ehci0 24087 1 irq23: ehci1 32583 2 cpu0: timer 31767670 1999 irq256: isci0 13858 0 irq258: isci0 1 0 irq260: igb0:que 0 344581 21 irq261: igb0:que 1 324153 20 irq262: igb0:que 2 296783 18 irq263: igb0:que 3 301545 18 irq264: igb0:link 2 0 irq270: igb2:que 0 154219524 9709 irq271: igb2:que 1 159906729 10067 irq272: igb2:que 2 167908305 10570 irq273: igb2:que 3 164975173 10386 irq274: igb2:link 1 0 irq280: ix0:que 0 88052295 5543 irq281: ix0:que 1 77786207 4897 irq282: ix0:que 2 99402611 6258 irq283: ix0:que 3 81112312 5106 irq284: ix0:que 4 57377517 3612 irq285: ix0:que 5 79059908 4977 irq286: ix0:que 6 69872898 4398 irq287: ix0:que 7 85544261 5385 irq288: ix0:link 1 0 cpu10: timer 31759554 1999 cpu1: timer 31759527 1999 cpu8: timer 31759553 1999 cpu5: timer 31759555 1999 cpu6: timer 31759549 1999 cpu4: timer 31759527 1999 cpu2: timer 31759513 1999 cpu7: timer 31759529 1999 cpu3: timer 31759492 1999 cpu11: timer 31759555 1999 cpu9: timer 31759545 1999 Total 1667677906 104991 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted March 31, 2013 Попробовали сегодня поменять параметры net.inet.ip.fastforwarding=0 net.isr.maxthreads=4 net.isr.direct=0 net.isr.direct_force=0 net.isr.bindthreads=1 Канал поднялся до 600 мбит/с, и опять начались те же проблемы, причем если в предыдущем конфиге пинг в интернет всегда держался на уровне 200мс, то в этой ситуации постепенно увеличивается до 500-600мс и выше. top -SHPI last pid: 30840; load averages: 11.49, 11.69, 9.99 up 0+00:38:34 12:19:56 263 processes: 24 running, 140 sleeping, 99 waiting CPU 0: 0.0% user, 0.0% nice, 0.7% system, 98.5% interrupt, 0.7% idle CPU 1: 1.9% user, 0.0% nice, 66.2% system, 10.9% interrupt, 21.1% idle CPU 2: 1.5% user, 0.0% nice, 64.4% system, 7.9% interrupt, 26.2% idle CPU 3: 4.5% user, 0.0% nice, 68.5% system, 10.5% interrupt, 16.5% idle CPU 4: 1.5% user, 0.0% nice, 65.4% system, 9.8% interrupt, 23.3% idle CPU 5: 1.1% user, 0.0% nice, 54.9% system, 16.5% interrupt, 27.4% idle CPU 6: 1.1% user, 0.0% nice, 54.7% system, 11.6% interrupt, 32.6% idle CPU 7: 1.9% user, 0.0% nice, 56.6% system, 10.5% interrupt, 31.1% idle CPU 8: 1.5% user, 0.0% nice, 67.7% system, 5.6% interrupt, 25.2% idle CPU 9: 0.0% user, 0.0% nice, 0.4% system, 97.4% interrupt, 2.3% idle CPU 10: 0.0% user, 0.0% nice, 0.8% system, 98.1% interrupt, 1.1% idle CPU 11: 0.0% user, 0.0% nice, 0.7% system, 97.0% interrupt, 2.2% idle Mem: 104M Active, 20M Inact, 750M Wired, 232K Cache, 32M Buf, 30G Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -44 - 0K 1648K CPU11 11 27:24 100.00% intr{swi1: netisr 11} 12 root -44 - 0K 1648K CPU0 0 27:10 100.00% intr{swi1: netisr 0} 12 root -44 - 0K 1648K CPU9 9 27:00 100.00% intr{swi1: netisr 9} 12 root -44 - 0K 1648K CPU10 10 26:52 100.00% intr{swi1: netisr 10} 12 root -32 - 0K 1648K WAIT 8 18:39 53.17% intr{swi4: clock} 1424 root 106 0 156M 93716K CPU3 3 19:19 45.75% mpd5{mpd5} 1424 root 76 0 156M 93716K nanslp 4 0:00 44.29% mpd5{mpd5} 1448 root -16 - 0K 192K sleep 4 10:47 36.57% ng_queue{ng_queue1} 1448 root -16 - 0K 192K sleep 4 10:49 36.47% ng_queue{ng_queue5} 1448 root -16 - 0K 192K RUN 11 10:47 36.38% ng_queue{ng_queue9} 1448 root -16 - 0K 192K CPU4 1 10:47 36.08% ng_queue{ng_queue3} 1448 root -16 - 0K 192K CPU5 1 10:48 35.25% ng_queue{ng_queue11} 1448 root -16 - 0K 192K sleep 7 10:48 35.16% ng_queue{ng_queue4} 1448 root -16 - 0K 192K CPU6 6 10:46 35.06% ng_queue{ng_queue0} 1448 root -16 - 0K 192K RUN 4 10:49 34.86% ng_queue{ng_queue2} 1448 root -16 - 0K 192K sleep 1 10:49 34.18% ng_queue{ng_queue8} 1448 root -16 - 0K 192K sleep 1 10:47 33.89% ng_queue{ng_queue7} 1448 root -16 - 0K 192K sleep 8 10:47 33.59% ng_queue{ng_queue10} 1448 root -16 - 0K 192K CPU7 7 10:47 33.40% ng_queue{ng_queue6} 11 root 171 ki31 0K 192K CPU6 6 16:39 31.98% idle{idle: cpu6} 11 root 171 ki31 0K 192K RUN 5 16:13 31.05% idle{idle: cpu5} 11 root 171 ki31 0K 192K CPU4 4 16:10 24.76% idle{idle: cpu4} 11 root 171 ki31 0K 192K RUN 3 14:34 24.66% idle{idle: cpu3} 11 root 171 ki31 0K 192K RUN 7 16:43 23.58% idle{idle: cpu7} 11 root 171 ki31 0K 192K RUN 8 14:59 23.49% idle{idle: cpu8} 11 root 171 ki31 0K 192K RUN 2 14:36 23.19% idle{idle: cpu2} 11 root 171 ki31 0K 192K RUN 1 14:46 15.97% idle{idle: cpu1} 12 root -68 - 0K 1648K WAIT 7 1:09 3.86% intr{irq303: ix0:que } 12 root -68 - 0K 1648K WAIT 6 1:05 3.56% intr{irq302: ix0:que } 12 root -68 - 0K 1648K WAIT 1 0:53 3.56% intr{irq297: ix0:que } 12 root -68 - 0K 1648K WAIT 5 1:09 3.17% intr{irq301: ix0:que } 12 root -68 - 0K 1648K WAIT 2 0:53 3.08% intr{irq298: ix0:que } 12 root -68 - 0K 1648K WAIT 4 1:01 2.88% intr{irq300: ix0:que } 12 root -68 - 0K 1648K WAIT 9 0:57 2.69% intr{irq283: igb2:que} 12 root -68 - 0K 1648K WAIT 5 0:53 2.69% intr{irq279: igb2:que} 12 root -68 - 0K 1648K WAIT 0 0:50 2.69% intr{irq296: ix0:que } 12 root -68 - 0K 1648K WAIT 3 0:56 2.59% intr{irq299: ix0:que } 12 root -68 - 0K 1648K WAIT 8 1:02 2.39% intr{irq282: igb2:que} 12 root -68 - 0K 1648K WAIT 6 0:56 2.39% intr{irq280: igb2:que} 12 root -68 - 0K 1648K WAIT 7 0:54 2.39% intr{irq281: igb2:que} netstat -hdw1 input (Total) output packets errs idrops bytes packets errs bytes colls drops 167k 0 0 86M 189k 0 143M 0 0 169k 0 0 87M 194k 0 146M 0 0 172k 0 0 90M 195k 0 149M 0 0 170k 0 0 88M 195k 0 147M 0 0 169k 0 0 88M 193k 0 145M 0 0 169k 0 0 85M 192k 0 143M 0 0 172k 0 0 89M 196k 0 148M 0 0 171k 0 0 89M 194k 0 149M 0 0 166k 0 0 84M 190k 0 144M 0 0 167k 0 0 85M 189k 0 143M 0 0 systat -v 3 users Load 11.45 11.68 10.14 Mar 31 12:21 Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER Tot Share Tot Share Free in out in out Act 125616 7464 630224 9284 31561k count All 370844 9000 1074565k 19340 pages Proc: Interrupts r p d s w Csw Trp Sys Int Sof Flt 365 cow 154k total 1 56 565k 1144 5516 130k 1078 1069 452 zfod acpi0 irq9 ozfod 2 ehci0 16 41.5%Sys 39.8%Intr 1.6%User 0.0%Nice 17.1%Idle %ozfod 3 ehci1 23 | | | | | | | | | | | daefr 2000 cpu0: time =====================++++++++++++++++++++ 443 prcfr 1 isci0 256 18 dtbuf 2564 totfr isci0 258 Namei Name-cache Dir-cache 587054 desvn react 17 igb0:que 0 Calls hits % hits % 819 numvn pdwak 10 igb0:que 1 672 671 100 281 frevn pdpgs 14 igb0:que 2 intrn 12 igb0:que 3 Disks da0 da1 cd0 pass0 pass1 pass2 769412 wire 11 igb0:que 4 KB/t 12.00 0.00 0.00 0.00 0.00 0.00 106412 act 10 igb0:que 5 tps 1 0 0 0 0 0 20856 inact 12 igb0:que 6 MB/s 0.02 0.00 0.00 0.00 0.00 0.00 232 cache 11 igb0:que 7 %busy 0 0 0 0 0 0 31561160 free igb0:link 33808 buf 8478 igb2:que 0 7888 igb2:que 1 7944 igb2:que 2 7848 igb2:que 3 7911 igb2:que 4 8296 igb2:que 5 7765 igb2:que 6 7891 igb2:que 7 igb2:link 8735 ix0:que 0 8117 ix0:que 1 7883 ix0:que 2 7554 ix0:que 3 8638 ix0:que 4 9220 ix0:que 5 7808 ix0:que 6 8120 ix0:que 7 ix0:link 3 2000 cpu10: tim 2000 cpu2: time 2000 cpu1: time 2000 cpu11: tim 2000 cpu4: time 2000 cpu9: time 2000 cpu5: time 2000 cpu6: time 2000 cpu3: time 2000 cpu7: time 2000 cpu8: time netstat -Q Configuration: Setting Value Maximum Thread count 4 4 Default queue limit 4096 10240 Direct dispatch disabled n/a Forced direct dispatch disabled n/a Threads bound to CPUs enabled n/a Protocols: Name Proto QLimit Policy Flags ip 1 10240 flow --- igmp 2 4096 source --- rtsock 3 4096 source --- arp 7 4096 source --- Workstreams: WSID CPU Name Len WMark Disp'd HDisp'd QDrops Queued Handled 0 0 ip 6472 8973 0 0 0 103664057 103650880 igmp 0 0 0 0 0 0 0 rtsock 0 1 0 0 0 9 9 arp 0 0 0 0 0 0 0 9 9 ip 2843 8776 0 0 0 98506488 98498099 igmp 0 0 0 0 0 0 0 rtsock 0 0 0 0 0 0 0 arp 0 1 0 0 0 3 3 10 10 ip 1065 7887 0 0 0 93391025 93386449 igmp 0 0 0 0 0 0 0 rtsock 0 0 0 0 0 0 0 arp 0 0 0 0 0 0 0 11 11 ip 4338 10240 0 0 2116 103630632 103619422 igmp 0 0 0 0 0 0 0 rtsock 0 0 0 0 0 0 0 arp 0 5 0 0 0 6859 6859 vmstat -i interrupt total rate irq9: acpi0 2 0 irq16: ehci0 3769 1 irq23: ehci1 5120 2 cpu0: timer 4914382 1999 irq256: isci0 3859 1 irq258: isci0 1 0 irq260: igb0:que 0 33525 13 irq261: igb0:que 1 30540 12 irq262: igb0:que 2 30467 12 irq263: igb0:que 3 30746 12 irq264: igb0:que 4 28763 11 irq265: igb0:que 5 29151 11 irq266: igb0:que 6 24795 10 irq267: igb0:que 7 24844 10 irq268: igb0:link 2 0 irq278: igb2:que 0 22568799 9181 irq279: igb2:que 1 21717911 8835 irq280: igb2:que 2 21657772 8811 irq281: igb2:que 3 22251139 9052 irq282: igb2:que 4 22408394 9116 irq283: igb2:que 5 23304270 9480 irq284: igb2:que 6 22086868 8985 irq285: igb2:que 7 22362914 9098 irq286: igb2:link 2 0 irq296: ix0:que 0 19434941 7906 irq297: ix0:que 1 17356746 7061 irq298: ix0:que 2 17150077 6977 irq299: ix0:que 3 17563661 7145 irq300: ix0:que 4 19556851 7956 irq301: ix0:que 5 21332227 8678 irq302: ix0:que 6 17386269 7073 irq303: ix0:que 7 18963442 7714 irq304: ix0:link 1 0 cpu10: timer 4906238 1996 cpu2: timer 4906233 1996 cpu1: timer 4906214 1996 cpu11: timer 4906250 1996 cpu4: timer 4906227 1996 cpu9: timer 4906236 1996 cpu5: timer 4906228 1996 cpu6: timer 4906250 1996 cpu3: timer 4906219 1996 cpu7: timer 4906233 1996 cpu8: timer 4906225 1996 Total 386230803 157132 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted March 31, 2013 Попробовали убрать плату Intel I350 F2 (мультимод) и дать интернет через встроенную плату с медным портом, но так же igb. Тоже ничего не дало. Осталось только проверить без гигабитных igb и задействовать оба 10Г порта, но даже если заработает, то такая ситуация не устроит, потому что интернет надо подать через cisco sce2020, а там только гигабитные порты :( Сейчас опять в работе старый сервер. Для примера, в данный момент канал через него нагружен на 950 мбит/с, абонентов подключено ~3500. netstat -hdw1 input (Total) output packets errs idrops bytes packets errs bytes colls drops 264k 0 0 145M 291k 0 229M 0 0 266k 0 0 144M 291k 0 227M 0 0 262k 0 0 142M 286k 0 222M 0 0 255k 0 0 139M 280k 0 218M 0 0 209k 0 0 137M 210k 0 139M 0 0 262k 0 0 144M 287k 0 224M 0 0 261k 0 0 142M 286k 0 222M 0 0 top -SHPI last pid: 25965; load averages: 3.68, 3.55, 3.30 up 0+01:03:38 11:01:00 131 processes: 12 running, 77 sleeping, 42 waiting CPU 0: 4.0% user, 0.0% nice, 30.2% system, 0.0% interrupt, 65.8% idle CPU 1: 1.8% user, 0.0% nice, 35.0% system, 7.1% interrupt, 56.2% idle CPU 2: 1.3% user, 0.0% nice, 68.0% system, 0.0% interrupt, 30.7% idle CPU 3: 7.1% user, 0.0% nice, 37.6% system, 2.2% interrupt, 53.1% idle CPU 4: 5.8% user, 0.0% nice, 35.8% system, 8.0% interrupt, 50.4% idle CPU 5: 7.1% user, 0.0% nice, 29.2% system, 14.2% interrupt, 49.6% idle CPU 6: 1.3% user, 0.0% nice, 31.1% system, 0.0% interrupt, 67.6% idle CPU 7: 2.2% user, 0.0% nice, 2.7% system, 32.9% interrupt, 62.2% idle Mem: 100M Active, 29M Inact, 317M Wired, 92K Cache, 49M Buf, 3430M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 171 ki31 0K 128K CPU6 6 46:57 82.08% {idle: cpu6} 11 root 171 ki31 0K 128K CPU7 7 42:31 66.16% {idle: cpu7} 11 root 171 ki31 0K 128K RUN 3 39:48 65.87% {idle: cpu3} 11 root 171 ki31 0K 128K CPU0 0 39:59 63.09% {idle: cpu0} 0 root -68 0 0K 416K CPU2 2 31:48 59.47% {em0 taskq} 11 root 171 ki31 0K 128K RUN 4 41:10 55.76% {idle: cpu4} 966 root 108 0 208M 117M CPU4 5 38:05 55.27% {mpd5} 11 root 171 ki31 0K 128K CPU5 5 42:33 42.29% {idle: cpu5} 12 root -32 - 0K 672K WAIT 4 15:58 40.38% {swi4: clock} 11 root 171 ki31 0K 128K RUN 2 27:58 38.57% {idle: cpu2} 11 root 171 ki31 0K 128K CPU1 1 40:04 38.48% {idle: cpu1} 12 root -68 - 0K 672K WAIT 7 16:12 30.96% {irq275: em1:rx 0 1037 root -16 - 0K 128K sleep 5 9:52 20.56% {ng_queue6} 1037 root -16 - 0K 128K RUN 2 9:52 20.36% {ng_queue5} 1037 root -16 - 0K 128K sleep 4 9:51 20.36% {ng_queue1} 1037 root -16 - 0K 128K sleep 0 9:52 19.87% {ng_queue3} 1037 root -16 - 0K 128K sleep 6 9:52 19.78% {ng_queue0} 1037 root -16 - 0K 128K sleep 1 9:53 19.48% {ng_queue2} 1037 root -16 - 0K 128K sleep 6 9:52 19.19% {ng_queue4} 1037 root -16 - 0K 128K sleep 6 9:52 19.09% {ng_queue7} 12 root -68 - 0K 672K WAIT 7 2:25 3.27% {irq276: em1:tx 0 0 root -68 0 0K 416K - 0 0:43 0.98% {em1 txq} Странно что сервер по характеристикам слабее, но работает на порядок лучше. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted March 31, 2013 (edited) Я конечно в ваших BSD ни в зуб ногой, но визуально - никаких проблем ни с одним компонентом нет. Вот только поверх IGBшных очередей у вас работает netisr, 'распределяя' всю нагрузку на 4 ядра. Убейте его и наступит счастье, IMHO. Недосмотрел, действительно чудеса. Edited March 31, 2013 by kayot Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted March 31, 2013 Я конечно в ваших BSD ни в зуб ногой, но визуально - никаких проблем ни с одним компонентом нет. Вот только поверх IGBшных очередей у вас работает netisr, 'распределяя' всю нагрузку на 4 ядра. Убейте его и наступит счастье, IMHO. изначально пробовали без netisr, ситуация была такая же :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 31, 2013 Дрова сетевух тюньте. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted March 31, 2013 Дрова сетевух тюньте. подскажите как, если не сложно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
littlesavage Posted March 31, 2013 hw.intr_storm_threshold попробуйте увеличить. А kern.hz какой? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 1, 2013 hw.intr_storm_threshold попробуйте увеличить. А kern.hz какой? Попробовал увеличить hw.intr_storm_threshold до 15000, 20т, 30т, не помогло. kern.hz=1000 попробовал все переключить на 10Г плату, ситуация та же самая. Процессор грузит именно тот порт который смотрит в интернет. last pid: 46985; load averages: 26.20, 22.02, 19.08 up 0+05:51:21 11:00:30 274 processes: 34 running, 161 sleeping, 78 waiting, 1 lock CPU 0: 0.4% user, 0.0% nice, 16.1% system, 83.5% interrupt, 0.0% idle CPU 1: 0.7% user, 0.0% nice, 31.8% system, 67.4% interrupt, 0.0% idle CPU 2: 0.4% user, 0.0% nice, 27.0% system, 72.7% interrupt, 0.0% idle CPU 3: 0.0% user, 0.0% nice, 31.1% system, 68.9% interrupt, 0.0% idle CPU 4: 0.4% user, 0.0% nice, 22.0% system, 77.6% interrupt, 0.0% idle CPU 5: 0.4% user, 0.0% nice, 22.0% system, 77.6% interrupt, 0.0% idle CPU 6: 0.4% user, 0.0% nice, 25.4% system, 74.3% interrupt, 0.0% idle CPU 7: 0.4% user, 0.0% nice, 26.2% system, 73.4% interrupt, 0.0% idle CPU 8: 0.0% user, 0.0% nice, 89.9% system, 10.1% interrupt, 0.0% idle CPU 9: 0.0% user, 0.0% nice, 90.3% system, 9.0% interrupt, 0.7% idle CPU 10: 0.4% user, 0.0% nice, 88.8% system, 10.8% interrupt, 0.0% idle CPU 11: 0.0% user, 0.0% nice, 90.6% system, 9.4% interrupt, 0.0% idle Mem: 99M Active, 116M Inact, 916M Wired, 100K Cache, 282M Buf, 30G Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -68 - 0K 1360K WAIT 0 24:32 84.47% intr{irq287: ix1:que } 12 root -68 - 0K 1360K WAIT 5 23:55 79.30% intr{irq292: ix1:que } 12 root -68 - 0K 1360K CPU7 7 25:42 76.17% intr{irq294: ix1:que } 12 root -68 - 0K 1360K RUN 6 25:33 73.19% intr{irq293: ix1:que } 12 root -68 - 0K 1360K WAIT 4 22:15 71.97% intr{irq291: ix1:que } 12 root -32 - 0K 1360K CPU1 1 45:56 65.77% intr{swi4: clock} 12 root -68 - 0K 1360K CPU3 3 23:42 64.16% intr{irq290: ix1:que } 12 root -68 - 0K 1360K *netgr 2 22:47 62.35% intr{irq289: ix1:que } 12 root -68 - 0K 1360K WAIT 1 24:17 60.99% intr{irq288: ix1:que } 1175 root -16 - 0K 192K RUN 3 21:50 43.99% ng_queue{ng_queue4} 1175 root -16 - 0K 192K CPU9 9 21:46 43.90% ng_queue{ng_queue6} 1175 root -16 - 0K 192K RUN 11 21:51 43.26% ng_queue{ng_queue7} 1175 root -16 - 0K 192K CPU5 3 21:57 42.38% ng_queue{ng_queue8} 1175 root -16 - 0K 192K CPU1 1 21:54 40.87% ng_queue{ng_queue11} 1175 root -16 - 0K 192K RUN 9 21:56 40.77% ng_queue{ng_queue5} 1175 root -16 - 0K 192K RUN 10 21:49 40.77% ng_queue{ng_queue0} 1175 root -16 - 0K 192K RUN 8 21:48 40.77% ng_queue{ng_queue3} 1175 root -16 - 0K 192K CPU8 8 21:49 40.67% ng_queue{ng_queue10} 1175 root -16 - 0K 192K CPU10 11 21:51 40.58% ng_queue{ng_queue1} 1175 root -16 - 0K 192K RUN 7 21:47 40.48% ng_queue{ng_queue9} 1175 root -16 - 0K 192K CPU4 4 21:56 40.28% ng_queue{ng_queue2} 0 root -68 0 0K 944K - 4 1:55 10.06% kernel{ix1 que} 0 root -68 0 0K 944K - 6 2:43 7.28% kernel{ix1 que} 0 root -68 0 0K 944K - 1 2:45 6.69% kernel{ix1 que} 0 root -68 0 0K 944K - 5 2:50 5.57% kernel{ix1 que} 0 root -68 0 0K 944K - 7 2:55 5.18% kernel{ix1 que} 0 root -68 0 0K 944K - 6 2:59 3.66% kernel{ix1 que} 0 root -68 0 0K 944K - 1 2:56 3.56% kernel{ix1 que} 0 root -68 0 0K 944K - 7 3:10 2.69% kernel{ix1 que} 12 root -68 - 0K 1360K RUN 2 6:41 2.59% intr{irq280: ix0:que } 12 root -68 - 0K 1360K WAIT 6 9:46 2.20% intr{irq284: ix0:que } 12 root -68 - 0K 1360K WAIT 3 9:21 2.20% intr{irq281: ix0:que } 12 root -68 - 0K 1360K WAIT 1 7:16 2.20% intr{irq279: ix0:que } 12 root -68 - 0K 1360K WAIT 4 7:02 1.95% intr{irq282: ix0:que } 12 root -68 - 0K 1360K RUN 7 8:06 1.76% intr{irq285: ix0:que } 12 root -68 - 0K 1360K WAIT 5 6:26 1.56% intr{irq283: ix0:que } 12 root -68 - 0K 1360K WAIT 0 7:23 1.37% intr{irq278: ix0:que } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 1, 2013 Возможна ли проблема из за несовместимости какого либо железа? Если да, то есть ли способы это проверить? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kirush Posted April 1, 2013 Возможен ли банальный flood из сети? Посмотрите tcpdump на пакеты arp. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 2, 2013 ок, сегодня посмотрю, но даже если и флуд, то машинка послабее спокойно с ним справляется, а эта - никак не хочет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kirush Posted April 2, 2013 Глюк периодический или на постоянной основе? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 2, 2013 Глюк периодический или на постоянной основе? Глюк постоянный, как только нагрузка по каналу приблизится до 400 мбит. У нас сейчас работает старый сервер, нагрузка вечером под Гигабит. Днем- 700-900, pptp сессий спокойно держит около 4000, 250-280 pps. Необходимо его заменить. Сеть рабочая поэтому постоянно эксперементировать не получается. Мы переключаем его рано утром, ближе к 9-10 часам наступает нагрузка под 400 мбит, увеличивается количество подключенных абонентов примерно до 3000, и внезапно подскакивает нагрузка процессоров. После чего опять возвращаем на старый, и пытаемся шаманить. И так каждый день :) В момент подскока ничего не обычного не замечено, то есть нет резкого увеличения канала, pps, либо активных pptp сессий. Сервер утром начинает работать нормально, нагрузка всех ядер не более 8-10%, и вдруг резко увеличивается сразу до 99-100. Проверяли без нагрузки, максимум 3-4 активных клиента, работал несколько дней без проблем. Так же пробовал нагрузить iperf`ом, максимум что смог - 50-60к pps, 500 mbit/c, - сервер работал нормально. Как сымитировать 4000 pptp сессий чтобы проверить, не знаю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted April 2, 2013 А если эксперимента ради убрать один CPU физически? Возможны эпические ситуации, когда сетевка подключена к pci-e контроллеру одного физического ЦП, прерывания прибиты на другой, а трафик в итоге нужно пропустить обратно на первый. Ну и второй эксперимент, склонировать BSD с рабочей машины. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 2, 2013 kayot что подразумеваете под "склонировать"? на рабочей машине стоит 8.2 stable, на новый изначально ставили ту же самую, конфиг полностью 1 к 1. Сегодня попросили у знакомых другой сервер, правда тоже двухпроцессорный, поставили на него наши карты. Утром запустим его, проверим. Если не поможет, то попробуем завтра снять один процессор с нашей машины, и проверим. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
terrible Posted April 2, 2013 Попробуйте вот так: # cat /boot/loader.conf | grep hw.igb.rx_process_limit hw.igb.rx_process_limit=-1 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted April 2, 2013 dagtkrus Склонировать - сделать побайтную копию винта, как бы сами собой устранятся все возможные различия в настройках софта. Я обычно linux-маршрутизаторы так и переношу/клонирую, что б ничего не забыть. А сами сетевки проверять на другом сервере лишено смысла, они могут потери давать или машину вешать при аппаратных проблемах, но не загрузку ж давать.. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
littlesavage Posted April 2, 2013 Попробовал увеличить hw.intr_storm_threshold до 15000, 20т, 30т, не помогло. kern.hz=1000 vmstat -i у вас просто показывал близкие к пороговым rate'ы https://wiki.freebsd.org/NetworkPerformanceTuning смотрели уже, наверно? Все же стоит попробовать 9-STABLE. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 3, 2013 https://wiki.freebsd.org/NetworkPerformanceTuning смотрели уже, наверно? сегодня попробовали, не помогло. Все же стоит попробовать 9-STABLE. Ставили 9.1 Stable, то же самое. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 3, 2013 на другом сервере та же ситуация, ничего не изменилось. попробуем сегодня снять 1 процессор. Кстати, на новом сервере процессор 6-ти ядерный, на том что сегодня ночью меняли - тоже. На одном из старых которые работают,- один 4-х ядерный, на втором - два 4-х ядерных. Это может как то влиять? так же помимо сетевых, нагружается процесс intr{swi4: clock}. Это нормально? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
polmax Posted April 3, 2013 нагружается процесс intr{swi4: clock}. Это нормально? Если нагружается сильно то нет, не нормально. Понизте hz до 100 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 5, 2013 Сняли один процессор, как посоветовал kayot. Прошли сутки, сервер работает нормально. Нагрузка плавно поднимается до 80-85% в "час пик" и 40-50% в остальное время. С увеличением трафика наверняка еще поднимется. Что посоветуете сделать? Вернуть второй процессор и пытаться привязать все прерывания на 1 проц, если это возможно. Либо сделать апгрейд процессора? Если апргрейд то какой лучше выбрать? Почитал форум, некоторые советуют Xeon E3, некоторые Core-i7. Материнка сейчас стоит Supermicro X9DRW-3LN4F+, Dual socket R (LGA 2011). Процессор - E5-2620 2.0 ГГц / 6core /. Как вариант попроще - заменить его на Intel Xeon E5-2680 2.7 ГГц / 8core / Замена на другой процессор, повлечет замену платформы. Подскажите, что лучше сделать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
homeuser Posted April 5, 2013 Мать X9DRW-3LN4F+ мудреная из описания: (Both CPUs need to be installed for full access to PCI-E slots and onboard controllers. See manual block diagram for details.) следовательно: 10г карту к одному процу подключить и туда привязать её прерывания, em0 и em1 - к другому и аналогично привязать прерывания. так бы потестить, шейпер попробовать привязать к ядрам одного проца и посмотреть нагрузку, а потом к ядрам другого и тоже посмотреть нагрузку... Дело в межпроцессорных коммуникациях - медленные они, относительно. и уже если никак тогда смотреть возможность подключить все к одному процу, если катит - самый мощный проц туда, а если не катит - тогда смена платформы. имхо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dagtkrus Posted April 5, 2013 homeuser сейчас с одним процом уже второй день все нормально, просто на будущее хочу определить, что лучше, сделать апргрейд существующего проца, или поменять платформу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...