Elisium Posted October 23, 2013 Posted October 23, 2013 (edited) Доброго дня, коллеги. Есть проблемы с аномально высокой загрузкой данного сервера, который используется как шейпер. С данными показателями у сервера ЛА>10, ошибок на интерфейсах нет и он не может адекватно нарезать скорости клиентам. Например, на тарифе 80МБт реально получаемая клиентом скорость примерно 25МБт Что можете посоветовать по "пациенту" ? п.с. Что бы не раздувать пост, необходимую диагностическую инфу прикрепил в файле. [root@router /etc]# uname -a FreeBSD router 9.1-STABLE FreeBSD 9.1-STABLE #1 r251806M: Tue Jun 18 13:03:53 EEST 2013 root@softrouter:/usr/obj/usr/src/sys/ROUTER amd64 [root@router /etc]# sysctl hw.model hw.model: Intel(R) Xeon(R) CPU X5680 @ 3.33GHz [root@router /etc]# top -SHPI last pid: 54434; load averages: 9.32, 10.07, 10.49 up 53+16:59:01 23:30:10 204 processes: 23 running, 138 sleeping, 43 waiting CPU 0: 0.0% user, 0.0% nice, 20.9% system, 58.7% interrupt, 20.5% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 70.9% interrupt, 29.1% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 69.3% interrupt, 30.7% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 58.3% interrupt, 41.7% idle CPU 4: 0.0% user, 0.0% nice, 0.0% system, 66.9% interrupt, 33.1% idle CPU 5: 0.0% user, 0.0% nice, 0.0% system, 65.0% interrupt, 35.0% idle CPU 6: 0.0% user, 0.0% nice, 0.0% system, 74.8% interrupt, 25.2% idle CPU 7: 0.0% user, 0.0% nice, 0.4% system, 79.9% interrupt, 19.7% idle CPU 8: 6.3% user, 0.0% nice, 5.1% system, 0.0% interrupt, 88.6% idle CPU 9: 1.6% user, 0.0% nice, 3.9% system, 0.0% interrupt, 94.5% idle CPU 10: 0.8% user, 0.0% nice, 7.1% system, 2.8% interrupt, 89.4% idle CPU 11: 9.1% user, 0.0% nice, 2.0% system, 2.8% interrupt, 86.2% idle Mem: 175M Active, 4102M Inact, 1065M Wired, 1230M Buf, 6449M Free Swap: 1024M Total, 1024M Free gate_22102013_2339.txt Edited October 23, 2013 by Elisium Вставить ник Quote
Ivan_83 Posted October 23, 2013 Posted October 23, 2013 net.isr.bindthreads: 1 net.isr.maxthreads: 64 net.isr.dispatch: deferred NetFlow IPv4 cache - отключить Ещё желательно на HPET таймеры перейти, если есть а остальные отключить. Вставить ник Quote
Elisium Posted October 23, 2013 Author Posted October 23, 2013 (edited) Первое пробовал - эффекта не заметил. Но поставлю еще раз - мало ли =) п.с. Выставлял вот так #net.isr.numthreads=12 #net.isr.bindthreads=1 #net.isr.maxthreads=12 #net.isr.dispatch=deferred Второе: с шейпера экспортится нетфлов. При его отключении нагрузка ощутимо падает. Но пока выключить его нет возможности. По таймерам: Сейчас стоит kern.eventtimer.timer: LAPIC Остальные (HPET и RTC) показывают (судя по сисцтл) меньшую точность. Edited October 23, 2013 by Elisium Вставить ник Quote
Ivan_83 Posted October 23, 2013 Posted October 23, 2013 net.isr.maxthreads Ставится в лоадере, система сама уменьшает его до количества процов. Второе: с шейпера экспортится нетфлов. При его отключении нагрузка ощутимо падает. Но пока выключить его нет возможности. Или имеется ввиду net.inet.netflow_cachesize=0 ? Тогда тюнить нетграф, а то там ошибок много. По таймерам: Сейчас стоит kern.eventtimer.timer: LAPIC Остальные (HPET и RTC) показывают (судя по сисцтл) меньшую точность. Зато прерываний как то много от него. В лоадере # POWER SAVING: https://wiki.freebsd.org/TuningPowerConsumption hint.p4tcc.0.disabled="1" # Disable CPU Frequency Thermal Control hint.acpi_throttle.0.disabled="1" # Disable CPU throtling hint.hpet.0.legacy_route="1" # HPET will steal IRQ0 of i8254 timer and IRQ8 of RTC hint.apic.0.clock="0" # Disable local APIC timers hint.atrtc.0.clock="0" # Disable RTC timer hint.attimer.0.clock=0 # Disable AT timer Только если HPET в системе нет то оно не загрузится :) Вставить ник Quote
Elisium Posted October 23, 2013 Author Posted October 23, 2013 По поводу net.isr.numthreads=1 (дефолт) - есть ли смысл его менять ? Дето тут же на Наге читал, что нужно выставлять по кол-ву процов. "Тюнить нетграф" - выставлен буфер NetFlow IPv4 cache в 524288 путем изменением исходников. Можно выставить и больше, но через некоторое время все равно появляются ошибки. Как еще его можно тюнить ? Зато прерываний как то много от него. Хм... А где это видно ? Вроде по 10К на очередь сетевки и 1К на ядро норма. Или я не о том ? Вставить ник Quote
Ivan_83 Posted October 23, 2013 Posted October 23, 2013 По поводу net.isr.numthreads=1 (дефолт) - есть ли смысл его менять ? Дето тут же на Наге читал, что нужно выставлять по кол-ву процов. поставьте махтреадс=128 (или любое число больше процов) в лоадер и оно само проставит колличество процов туда и в нумтреадс тоже. Ещё есть крутилка с фастфорвадингом, и правила в ipfw по отимизировать как то и вроде всё что я знаю из того что влияет на загрузку. "Тюнить нетграф" - выставлен буфер NetFlow IPv4 cache в 524288 путем изменением исходников. Вообще я про # NetGraph net.graph.maxalloc="65535" # Maximum number of non-data queue items to allocate / limit the damage of a leak net.graph.maxdata="65535" # Maximum number of data queue items to allocate / limit the damage of a DoS в лоадере, но действительно, не ваш случай, у вас там видно лимит в 524291, вот его ещё увеличить либо посмотреть на код, и подумать надо ли. Хм... А где это видно ? Вроде по 10К на очередь сетевки и 1К на ядро норма. Или я не о том ? vmstat -i cpu0:timer 5225059319 1125 cpu5:timer 5224985142 1125 cpu11:timer 5043936872 1086 cpu4:timer 5224984378 1125 cpu10:timer 5039893778 1086 cpu1:timer 5224987774 1125 cpu8:timer 5028529588 1083 cpu2:timer 5224985184 1125 cpu6:timer 5224890204 1125 cpu3:timer 5225007766 1125 cpu9:timer 5033193913 1084 cpu7:timer 5224897428 1125 в systat -vm тоже видно. Вставить ник Quote
Elisium Posted October 23, 2013 Author Posted October 23, 2013 Выставил. Ночью перегружу, завтра отпишусь. Вставить ник Quote
Elisium Posted October 24, 2013 Author Posted October 24, 2013 (edited) Перегрузил. vmstat -I interrupt total rate irq0: hpet0:t0 507070 1630 irq9: acpi0 1 0 irq16: uhci3 uhci4* 29 0 irq18: atapci0 14593 46 irq19: uhci0 uhci1* 29 0 irq266: ix0:que 0 2710736 8716 irq267: ix0:que 1 3519245 11315 irq268: ix0:que 2 2599066 8357 irq269: ix0:que 3 2235942 7189 irq270: ix0:que 4 2800578 9005 irq271: ix0:que 5 3312546 10651 irq272: ix0:que 6 2332010 7498 irq273: ix0:que 7 2661291 8557 irq274: ix0:link 1 0 irq275: ix1:que 0 1983657 6378 irq276: ix1:que 1 2131004 6852 irq277: ix1:que 2 2024627 6510 irq278: ix1:que 3 2079221 6685 irq279: ix1:que 4 2183279 7020 irq280: ix1:que 5 2080351 6689 irq281: ix1:que 6 1998859 6427 irq282: ix1:que 7 1767743 5684 irq283: ix1:link 1 0 Total 38941879 125215 sysctl net.isr net.isr.numthreads: 12 net.isr.maxprot: 16 net.isr.defaultqlimit: 4096 net.isr.maxqlimit: 10240 net.isr.bindthreads: 1 net.isr.maxthreads: 12 net.isr.direct: 0 net.isr.direct_force: 0 net.isr.dispatch: deferred top -SHPI last pid: 77868; load averages: 1.06, 1.07, 0.59 up 0+00:05:24 05:18:2 208 processes: 14 running, 134 sleeping, 60 waiting CPU 0: 0.0% user, 0.0% nice, 0.0% system, 4.3% interrupt, 95.7% idle CPU 1: 0.0% user, 0.0% nice, 0.4% system, 4.3% interrupt, 95.3% idle CPU 2: 0.4% user, 0.0% nice, 0.0% system, 4.7% interrupt, 94.9% idle CPU 3: 0.0% user, 0.0% nice, 0.8% system, 6.7% interrupt, 92.5% idle CPU 4: 0.0% user, 0.0% nice, 0.0% system, 5.5% interrupt, 94.5% idle CPU 5: 0.0% user, 0.0% nice, 0.0% system, 5.5% interrupt, 94.5% idle CPU 6: 0.4% user, 0.0% nice, 0.4% system, 7.1% interrupt, 92.2% idle CPU 7: 0.0% user, 0.0% nice, 0.0% system, 2.7% interrupt, 97.3% idle CPU 8: 0.0% user, 0.0% nice, 0.4% system, 0.0% interrupt, 99.6% idle CPU 9: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idle CPU 10: 12.2% user, 0.0% nice, 0.0% system, 0.0% interrupt, 87.8% idle CPU 11: 0.0% user, 0.0% nice, 1.6% system, 0.0% interrupt, 98.4% idle Mem: 61M Active, 24M Inact, 317M Wired, 32M Buf, 11G Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 192K CPU9 9 4:51 100.00% idle{idle: cpu9} 11 root 155 ki31 0K 192K CPU0 0 4:58 99.76% idle{idle: cpu0} 11 root 155 ki31 0K 192K CPU2 2 4:58 99.76% idle{idle: cpu2} 11 root 155 ki31 0K 192K CPU3 3 4:59 99.27% idle{idle: cpu3} 11 root 155 ki31 0K 192K CPU8 8 4:51 99.27% idle{idle: cpu8} 11 root 155 ki31 0K 192K CPU11 11 4:53 98.78% idle{idle: cpu11} 11 root 155 ki31 0K 192K CPU4 4 4:57 98.68% idle{idle: cpu4} 11 root 155 ki31 0K 192K CPU1 1 4:57 98.49% idle{idle: cpu1} 11 root 155 ki31 0K 192K RUN 7 4:56 98.39% idle{idle: cpu7} 11 root 155 ki31 0K 192K CPU5 5 4:56 98.10% idle{idle: cpu5} 11 root 155 ki31 0K 192K CPU6 6 4:55 96.58% idle{idle: cpu6} 11 root 155 ki31 0K 192K CPU10 10 4:51 94.19% idle{idle: cpu10} 1465 root 20 -15 76420K 28896K nanslp 11 0:38 5.76% perl5.14.4 1462 root 20 0 60012K 12416K nanslp 3 0:34 2.88% perl5.14.4 12 root -92 - 0K 976K WAIT 1 0:09 2.49% intr{irq267: ix0:que } 12 root -92 - 0K 976K WAIT 5 0:09 2.49% intr{irq271: ix0:que } 12 root -92 - 0K 976K WAIT 7 0:10 2.39% intr{irq273: ix0:que } 12 root -92 - 0K 976K WAIT 4 0:08 2.39% intr{irq279: ix1:que } 12 root -92 - 0K 976K CPU5 5 0:08 2.29% intr{irq280: ix1:que } 12 root -92 - 0K 976K WAIT 6 0:09 2.10% intr{irq281: ix1:que } 12 root -92 - 0K 976K WAIT 4 0:08 1.95% intr{irq270: ix0:que } 12 root -92 - 0K 976K WAIT 6 0:08 1.76% intr{irq272: ix0:que } 12 root -92 - 0K 976K WAIT 2 0:07 1.76% intr{irq268: ix0:que } 12 root -92 - 0K 976K WAIT 7 0:07 1.76% intr{irq282: ix1:que } 12 root -92 - 0K 976K WAIT 0 0:06 1.76% intr{irq266: ix0:que } 12 root -92 - 0K 976K WAIT 1 0:07 1.66% intr{irq276: ix1:que } 12 root -92 - 0K 976K WAIT 3 0:07 1.66% intr{irq278: ix1:que } 12 root -92 - 0K 976K WAIT 0 0:05 1.66% intr{irq275: ix1:que } 12 root -92 - 0K 976K WAIT 3 0:06 1.56% intr{irq269: ix0:que } 12 root -92 - 0K 976K WAIT 2 0:07 1.46% intr{irq277: ix1:que } Нагрузки сейчас почти нет, смотреть пока нечего. п.с. Таймер выставил HPET Edited October 24, 2013 by Elisium Вставить ник Quote
Elisium Posted October 24, 2013 Author Posted October 24, 2013 Собственно, вот нынешнее состояние: п.с. тихий ужас.... top -SHPI last pid: 32450; load averages: 13.46, 13.53, 13.11 up 0+15:59:51 21:12:50 216 processes: 25 running, 142 sleeping, 49 waiting CPU 0: 0.0% user, 0.0% nice, 8.7% system, 75.6% interrupt, 15.7% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 86.6% interrupt, 13.4% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 71.3% interrupt, 28.7% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 73.6% interrupt, 26.4% idle CPU 4: 0.0% user, 0.0% nice, 0.0% system, 78.7% interrupt, 21.3% idle CPU 5: 0.0% user, 0.0% nice, 0.0% system, 74.0% interrupt, 26.0% idle CPU 6: 0.0% user, 0.0% nice, 0.0% system, 84.6% interrupt, 15.4% idle CPU 7: 0.0% user, 0.0% nice, 0.0% system, 88.6% interrupt, 11.4% idle CPU 8: 2.0% user, 0.0% nice, 3.9% system, 0.0% interrupt, 94.1% idle CPU 9: 2.0% user, 0.0% nice, 3.5% system, 0.0% interrupt, 94.5% idle CPU 10: 2.4% user, 0.0% nice, 3.1% system, 5.9% interrupt, 88.6% idle CPU 11: 1.6% user, 0.0% nice, 3.5% system, 0.0% interrupt, 94.9% idle Mem: 68M Active, 28M Inact, 451M Wired, 50M Buf, 11G Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 192K RUN 10 874:27 98.00% idle{idle: cpu10} 11 root 155 ki31 0K 192K CPU11 11 874:08 96.00% idle{idle: cpu11} 11 root 155 ki31 0K 192K CPU9 9 873:14 92.19% idle{idle: cpu9} 11 root 155 ki31 0K 192K CPU8 8 873:15 91.70% idle{idle: cpu8} 12 root -92 - 0K 976K WAIT 7 241:08 53.76% intr{irq282: ix1:que } 12 root -92 - 0K 976K RUN 6 237:47 51.56% intr{irq281: ix1:que } 12 root -92 - 0K 976K CPU1 1 199:58 47.07% intr{irq276: ix1:que } 12 root -92 - 0K 976K RUN 0 198:20 46.88% intr{irq275: ix1:que } 12 root -92 - 0K 976K RUN 3 199:18 45.56% intr{irq278: ix1:que } 12 root -92 - 0K 976K WAIT 2 203:06 44.68% intr{irq277: ix1:que } 12 root -92 - 0K 976K CPU5 5 201:35 43.90% intr{irq280: ix1:que } 12 root -92 - 0K 976K WAIT 4 199:03 42.97% intr{irq279: ix1:que } 12 root -92 - 0K 976K WAIT 7 177:13 39.45% intr{irq273: ix0:que } 12 root -92 - 0K 976K RUN 0 158:25 34.67% intr{irq266: ix0:que } 12 root -92 - 0K 976K RUN 1 163:39 34.08% intr{irq267: ix0:que } 12 root -92 - 0K 976K CPU6 6 181:44 32.47% intr{irq272: ix0:que } 12 root -92 - 0K 976K CPU3 3 160:30 31.88% intr{irq269: ix0:que } 12 root -92 - 0K 976K WAIT 5 159:57 31.40% intr{irq271: ix0:que } 12 root -92 - 0K 976K CPU2 2 160:29 30.57% intr{irq268: ix0:que } 12 root -92 - 0K 976K CPU4 4 159:39 30.57% intr{irq270: ix0:que } 11 root 155 ki31 0K 192K RUN 4 584:52 29.79% idle{idle: cpu4} 11 root 155 ki31 0K 192K RUN 5 580:14 27.88% idle{idle: cpu5} 11 root 155 ki31 0K 192K RUN 2 580:18 27.49% idle{idle: cpu2} 11 root 155 ki31 0K 192K RUN 3 583:56 25.20% idle{idle: cpu3} 11 root 155 ki31 0K 192K RUN 1 580:17 21.39% idle{idle: cpu1} 11 root 155 ki31 0K 192K RUN 0 557:14 18.55% idle{idle: cpu0} 11 root 155 ki31 0K 192K RUN 6 520:48 14.16% idle{idle: cpu6} 11 root 155 ki31 0K 192K RUN 7 522:35 8.79% idle{idle: cpu7} 1465 root 20 -15 76420K 29324K nanslp 10 57:55 5.18% perl5.14.4 12 root -60 - 0K 976K WAIT 2 29:00 4.98% intr{swi4: clock} 1462 root 22 0 60012K 12588K sbwait 9 100:43 4.79% perl5.14.4 vmstat -z [root@router /]# vmstat -z ITEM SIZE LIMIT USED FREE REQ FAIL SLEEP ... NetFlow IPv4 cache: 88, 1048582, 573907, 23377,943456662, 0, 0 NetFlow IPv6 cache: 128, 1048582, 0, 0, 0, 0, 0 vmstat -i [root@router /]# vmstat -i interrupt total rate irq0: hpet0:t0 64946101 1128 irq9: acpi0 1 0 irq16: uhci3 uhci4* 29 0 irq18: atapci0 96613 1 irq19: uhci0 uhci1* 29 0 irq266: ix0:que 0 646811676 11240 irq267: ix0:que 1 637166007 11073 irq268: ix0:que 2 630388778 10955 irq269: ix0:que 3 620951022 10791 irq270: ix0:que 4 638953940 11104 irq271: ix0:que 5 645744077 11222 irq272: ix0:que 6 586050393 10184 irq273: ix0:que 7 587270231 10206 irq274: ix0:link 1 0 irq275: ix1:que 0 665288570 11561 irq276: ix1:que 1 641306496 11145 irq277: ix1:que 2 646880123 11242 irq278: ix1:que 3 639931448 11121 irq279: ix1:que 4 642242035 11161 irq280: ix1:que 5 645626462 11220 irq281: ix1:que 6 593175443 10308 irq282: ix1:que 7 595406712 10347 irq283: ix1:link 1 0 Total 10128236188 176017 sysctl net.isr [root@router /]# sysctl net.isr net.isr.numthreads: 12 net.isr.maxprot: 16 net.isr.defaultqlimit: 4096 net.isr.maxqlimit: 10240 net.isr.bindthreads: 1 net.isr.maxthreads: 12 net.isr.direct: 0 net.isr.direct_force: 0 net.isr.dispatch: deferred netstat -w1 [root@router /]# netstat -w1 input (Total) output packets errs idrops bytes packets errs bytes colls 1225130 0 0 940778855 1208223 0 927625066 0 1119113 0 0 863390823 1122723 0 429818426 0 1153175 0 0 888382902 1141793 0 920127821 0 1152994 0 0 891305057 1141661 0 902229198 0 1192655 0 0 916494180 1181517 0 922589104 0 systat -if [root@router /]# systat -if /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10 Load Average |||||||||||||||||||||||||||||||||||||||||||||||||| 12.9 Interface Traffic Peak Total vlan1211 in 323.839 MB/s 323.839 MB/s 8.777 TB out 130.211 MB/s 133.840 MB/s 4.850 TB vlan333 in 133.698 MB/s 136.253 MB/s 4.930 TB out 320.890 MB/s 320.890 MB/s 8.721 TB lo0 in 0.000 KB/s 0.000 KB/s 6.297 MB out 0.000 KB/s 0.000 KB/s 6.297 MB ix1 in 330.433 MB/s 330.433 MB/s 8.904 TB out 141.288 MB/s 142.073 MB/s 4.924 TB ix0 in 136.183 MB/s 138.272 MB/s 4.998 TB out 347.493 MB/s 347.493 MB/s 8.897 TB Вставить ник Quote
Ivan_83 Posted October 24, 2013 Posted October 24, 2013 net.isr.dispatch крутится на лету. net.inet.ip.fastforwarding=0 ? Гипертрединг включён? Вставить ник Quote
Elisium Posted October 25, 2013 Author Posted October 25, 2013 net.inet.ip.fastforwarding=1 net.inet.ip.dummynet.io_fast=1 HT выключен - установлено два проца. Вернул все как было, ибо нагрузка заметно выросла. Увеличил обьем кеша для нетфлоу - поставил 1М. Ошибок в его сторону не наблюдается. Поправили шейпер. Было #unlim 50 day ${fwcmd} pipe 500 config mask dst-ip 0xffffffff bw 50Mbit/s queue 10 gred 0.002/15/30/0.1 ${fwcmd} pipe 501 config mask src-ip 0xffffffff bw 50Mbit/s queue 10 gred 0.002/15/30/0.1 Стало #unlim 50 day ${fwcmd} pipe 500 config mask dst-ip 0xffffffff bw 50Mbit/s queue 100 ${fwcmd} pipe 501 config mask src-ip 0xffffffff bw 50Mbit/s queue 100 Тарифная скорость вернулась +- в норму Но так и остался открытым вопрос, что еще можно сделать для снижения нагрузки. Ликвидировать пользователей не предлагать =) Вставить ник Quote
DVM-Avgoor Posted October 25, 2013 Posted October 25, 2013 Принимаете не fullview? Вставить ник Quote
Elisium Posted October 26, 2013 Author Posted October 26, 2013 Нет. Принимаем\отдаем дефолты. Иксы рулятся ранее на циске. Вставить ник Quote
DVM-Avgoor Posted October 26, 2013 Posted October 26, 2013 Значит надо профилировать! :> Вставить ник Quote
Ivan_83 Posted October 26, 2013 Posted October 26, 2013 net.inet.ip.fastforwarding=1 =0 чтобы по netisr разложило. (в добавок к тем настройкам что выше) Вернул все как было, ибо нагрузка заметно выросла. Ещё димминет нужно прибить к опред ядру. Скрипт где то на форуме есть. Вставить ник Quote
st_re Posted October 26, 2013 Posted October 26, 2013 Ещё димминет нужно прибить к опред ядру. Скрипт где то на форуме есть. Не просто определенному, а именно дамминет нужно прибивать к 0. На всех других оно жреть ЦПУ.. Вставить ник Quote
Elisium Posted October 26, 2013 Author Posted October 26, 2013 Дамминет прибит к 0му ядру. Однако, в час пик его загрузка поднимается до 5%. Ок, сегодня ночью попробую опять опции нет.иср с выключеным фастфорвардингом. Вставить ник Quote
DVM-Avgoor Posted October 26, 2013 Posted October 26, 2013 Мне всегда думалось, что дамминет на 0ом ядре просто не учитывается в общей нагрузке :) Вставить ник Quote
kayot Posted October 26, 2013 Posted October 26, 2013 А что мешает просто раскидать прерывания на все 12 ядер вместо текущих 8? Вставить ник Quote
Elisium Posted October 26, 2013 Author Posted October 26, 2013 А что мешает просто раскидать прерывания на все 12 ядер вместо текущих 8? Ну, формально, ничего =) Просто сетевух две - у каждой по 8 очередей. А процов 12. Как бы, красиво не прибить. п.с. Пробовал. Видимого эффекта не обнаружено. Вставить ник Quote
Elisium Posted October 27, 2013 Author Posted October 27, 2013 Собственно, вот: При включенном deferred и fastforwarding=0 top -SHPI last pid: 35044; load averages: 6.32, 6.53, 6.85 up 0+22:02:23 01:11:46 216 processes: 19 running, 141 sleeping, 56 waiting CPU 0: 0.0% user, 0.0% nice, 5.9% system, 60.2% interrupt, 33.9% idle CPU 1: 0.8% user, 0.0% nice, 0.0% system, 58.3% interrupt, 40.9% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 59.4% interrupt, 40.6% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 54.7% interrupt, 45.3% idle CPU 4: 0.4% user, 0.0% nice, 0.0% system, 59.1% interrupt, 40.6% idle CPU 5: 0.4% user, 0.0% nice, 0.8% system, 62.6% interrupt, 36.2% idle CPU 6: 0.4% user, 0.0% nice, 0.0% system, 65.4% interrupt, 34.3% idle CPU 7: 0.0% user, 0.0% nice, 0.0% system, 61.0% interrupt, 39.0% idle CPU 8: 2.8% user, 0.0% nice, 2.8% system, 5.1% interrupt, 89.4% idle CPU 9: 5.1% user, 0.0% nice, 2.8% system, 5.1% interrupt, 87.0% idle CPU 10: 2.4% user, 0.0% nice, 1.6% system, 9.1% interrupt, 87.0% idle CPU 11: 0.8% user, 0.0% nice, 1.6% system, 9.4% interrupt, 88.2% idle Mem: 62M Active, 23M Inact, 1008M Wired, 1078M Buf, 10G Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 192K CPU8 8 935:48 84.96% idle{idle: cpu8} 11 root 155 ki31 0K 192K CPU9 9 941:06 81.40% idle{idle: cpu9} 11 root 155 ki31 0K 192K RUN 10 683:30 81.15% idle{idle: cpu10} 11 root 155 ki31 0K 192K RUN 11 685:01 80.86% idle{idle: cpu11} 12 root -72 - 0K 976K WAIT 7 203:36 57.67% intr{swi1: netisr 7} 12 root -72 - 0K 976K CPU6 6 205:03 56.88% intr{swi1: netisr 6} 12 root -72 - 0K 976K WAIT 4 173:33 54.05% intr{swi1: netisr 4} 12 root -72 - 0K 976K CPU1 1 168:55 52.20% intr{swi1: netisr 1} 12 root -72 - 0K 976K WAIT 2 172:14 51.86% intr{swi1: netisr 2} 12 root -72 - 0K 976K CPU3 3 170:35 51.76% intr{swi1: netisr 3} 12 root -72 - 0K 976K WAIT 5 177:23 51.27% intr{swi1: netisr 5} 12 root -72 - 0K 976K CPU0 0 170:25 50.88% intr{swi1: netisr 0} 11 root 155 ki31 0K 192K CPU2 2 830:03 45.07% idle{idle: cpu2} 11 root 155 ki31 0K 192K RUN 0 636:34 44.97% idle{idle: cpu0} 11 root 155 ki31 0K 192K RUN 3 827:47 44.38% idle{idle: cpu3} 11 root 155 ki31 0K 192K RUN 1 832:21 43.36% idle{idle: cpu1} 11 root 155 ki31 0K 192K RUN 5 618:48 42.58% idle{idle: cpu5} 11 root 155 ki31 0K 192K RUN 6 739:43 38.57% idle{idle: cpu6} 11 root 155 ki31 0K 192K CPU7 7 748:04 38.38% idle{idle: cpu7} 11 root 155 ki31 0K 192K CPU4 4 627:12 37.79% idle{idle: cpu4} 1460 root 33 0 60012K 12816K sbwait 9 154:34 17.77% perl5.14.4 1463 root 52 -15 76420K 29160K nanslp 8 87:18 12.99% perl5.14.4 12 root -92 - 0K 976K WAIT 9 313:02 5.66% intr{irq278: ix1:que } 12 root -92 - 0K 976K WAIT 7 308:44 4.98% intr{irq276: ix1:que } 12 root -92 - 0K 976K WAIT 8 319:11 4.69% intr{irq277: ix1:que } 12 root -92 - 0K 976K WAIT 10 310:01 4.59% intr{irq279: ix1:que } 12 root -92 - 0K 976K WAIT 4 256:07 4.30% intr{irq272: ix0:que } 12 root -92 - 0K 976K WAIT 11 313:43 4.20% intr{irq280: ix1:que } 12 root -92 - 0K 976K CPU6 6 313:15 4.05% intr{irq275: ix1:que } 12 root -92 - 0K 976K WAIT 11 310:23 3.96% intr{irq282: ix1:que } 12 root -92 - 0K 976K WAIT 5 256:53 3.96% intr{irq273: ix0:que } 12 root -92 - 0K 976K WAIT 10 316:09 3.86% intr{irq281: ix1:que } sysctl net.isr net.isr.numthreads: 12 net.isr.maxprot: 16 net.isr.defaultqlimit: 4096 net.isr.maxqlimit: 10240 net.isr.bindthreads: 1 net.isr.maxthreads: 12 net.isr.direct: 0 net.isr.direct_force: 0 net.isr.dispatch: deferred .. и при direct и ff=1 top -SHPI last pid: 45070; load averages: 5.09, 6.06, 6.58 up 0+22:06:47 01:16:10 216 processes: 17 running, 141 sleeping, 58 waiting CPU 0: 2.4% user, 0.0% nice, 20.0% system, 22.0% interrupt, 55.7% idle CPU 1: 2.0% user, 0.0% nice, 1.2% system, 25.1% interrupt, 71.8% idle CPU 2: 2.4% user, 0.0% nice, 0.8% system, 25.1% interrupt, 71.8% idle CPU 3: 3.1% user, 0.0% nice, 3.9% system, 19.2% interrupt, 73.7% idle CPU 4: 2.4% user, 0.0% nice, 0.4% system, 43.5% interrupt, 53.7% idle CPU 5: 1.2% user, 0.0% nice, 0.8% system, 45.1% interrupt, 52.9% idle CPU 6: 2.0% user, 0.0% nice, 2.0% system, 26.7% interrupt, 69.4% idle CPU 7: 2.4% user, 0.0% nice, 0.0% system, 31.4% interrupt, 66.3% idle CPU 8: 1.6% user, 0.0% nice, 1.6% system, 19.6% interrupt, 77.3% idle CPU 9: 2.4% user, 0.0% nice, 2.4% system, 21.6% interrupt, 73.7% idle CPU 10: 1.2% user, 0.0% nice, 1.2% system, 54.5% interrupt, 43.1% idle CPU 11: 0.8% user, 0.0% nice, 0.8% system, 51.8% interrupt, 46.7% idle Mem: 62M Active, 23M Inact, 1009M Wired, 1079M Buf, 10G Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 192K RUN 3 830:11 80.96% idle{idle: cpu3} 11 root 155 ki31 0K 192K CPU1 1 834:42 78.76% idle{idle: cpu1} 11 root 155 ki31 0K 192K RUN 0 638:27 77.78% idle{idle: cpu0} 11 root 155 ki31 0K 192K CPU9 9 944:37 77.29% idle{idle: cpu9} 11 root 155 ki31 0K 192K RUN 2 832:19 74.07% idle{idle: cpu2} 11 root 155 ki31 0K 192K CPU8 8 939:17 71.00% idle{idle: cpu8} 11 root 155 ki31 0K 192K CPU7 7 750:02 70.36% idle{idle: cpu7} 11 root 155 ki31 0K 192K CPU6 6 741:43 68.36% idle{idle: cpu6} 11 root 155 ki31 0K 192K CPU5 5 620:49 56.69% idle{idle: cpu5} 11 root 155 ki31 0K 192K RUN 4 629:07 55.86% idle{idle: cpu4} 11 root 155 ki31 0K 192K RUN 11 688:10 48.29% idle{idle: cpu11} 11 root 155 ki31 0K 192K RUN 10 686:39 45.90% idle{idle: cpu10} 12 root -92 - 0K 976K WAIT 10 316:40 29.20% intr{irq281: ix1:que } 12 root -92 - 0K 976K WAIT 10 310:32 28.96% intr{irq279: ix1:que } 12 root -92 - 0K 976K WAIT 11 310:56 28.76% intr{irq282: ix1:que } 12 root -92 - 0K 976K WAIT 8 319:43 28.66% intr{irq277: ix1:que } 12 root -92 - 0K 976K CPU6 6 313:45 28.56% intr{irq275: ix1:que } 12 root -92 - 0K 976K WAIT 7 309:15 26.46% intr{irq276: ix1:que } 12 root -92 - 0K 976K WAIT 11 314:11 25.20% intr{irq280: ix1:que } 12 root -92 - 0K 976K WAIT 4 256:35 24.46% intr{irq272: ix0:que } 12 root -92 - 0K 976K WAIT 9 313:32 24.17% intr{irq278: ix1:que } 12 root -92 - 0K 976K WAIT 0 248:02 23.88% intr{irq266: ix0:que } 12 root -92 - 0K 976K CPU4 4 249:03 22.85% intr{irq270: ix0:que } 12 root -92 - 0K 976K WAIT 1 250:32 22.17% intr{irq267: ix0:que } 12 root -92 - 0K 976K WAIT 2 249:04 21.19% intr{irq268: ix0:que } 12 root -92 - 0K 976K WAIT 5 252:39 21.09% intr{irq271: ix0:que } 12 root -92 - 0K 976K WAIT 3 253:40 21.00% intr{irq269: ix0:que } 12 root -92 - 0K 976K CPU5 5 257:20 20.36% intr{irq273: ix0:que } 1460 root 29 0 60012K 12816K CPU5 5 155:11 11.18% perl5.14.4 1463 root 20 -15 76420K 29160K nanslp 8 87:39 7.28% perl5.14.4 12 root -60 - 0K 976K WAIT 5 43:57 2.88% intr{swi4: clock} sysctl net.isr net.isr.numthreads: 12 net.isr.maxprot: 16 net.isr.defaultqlimit: 4096 net.isr.maxqlimit: 10240 net.isr.bindthreads: 1 net.isr.maxthreads: 12 net.isr.direct: 1 net.isr.direct_force: 1 net.isr.dispatch: direct pps примерно 800К. Час пик уже прошел =( Прерывания от сетевух привязаны так: Шесть первых прерываний первой сетевухи на ядра 0-5, 7е и 8е - на ядра 4,5 Шесть первых прерываний второй сетевухи на ядра 6-11, 7е и 8е - на ядра 10,11. Разницу в нагрузке на сервер не особо заметно. Более того, не понимаю, почему в первом случае указано net.isr.numthreads: 12, но реально в топе видно только 8 работающих. Соответственно, загружены только первые 8 ядер. В чем подвох ? Вставить ник Quote
DVM-Avgoor Posted October 27, 2013 Posted October 27, 2013 У вас там перл в топе, это какая-то магия сетевая? Или так просто диском шуршит? :) Вставить ник Quote
Elisium Posted October 27, 2013 Author Posted October 27, 2013 Это тест на внимательность =) п.с. скрипт в фоне, рулит правилами в фаерволе. Вставить ник Quote
DVM-Avgoor Posted October 27, 2013 Posted October 27, 2013 (edited) Ну т.е. вас не смущает что скрипт в фоне имеет два процесса с нехилой нагрузкой? :) Просто был у меня в практике случай, когда довелось повстречать самописные грабли. Там машинка тоже страдала под трафиком, в основном под действием самописной хренотени типа "сниффер реальнага времени". Отключение этой байды просто преображало шлюз :) Я просто не очень в курсе, может если дергать каждые 10 наносекунд ipfw, все вообще умрет в локе. У вас там не так? Edited October 27, 2013 by DVM-Avgoor Вставить ник Quote
Ivan_83 Posted October 28, 2013 Posted October 28, 2013 Скорее всего нужно обновляться и если не поможет писать в список рассылки, потому что последние 4 ядра не догружаются. Возможно что то с алгоритмом балансировки нетиср когда число процов не степень двойки. Вставить ник 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.