Bear_UA Posted April 4, 2020 Posted April 4, 2020 Предыстория. Есть машинка Processor Information Socket Designation: SOCKET 1150 Type: Central Processor Family: Other Manufacturer: Intel ID: C3 06 03 00 FF FB EB BF Version: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz Voltage: 1.2 V External Clock: 100 MHz Max Speed: 3900 MHz Current Speed: 3400 MHz Status: Populated, Enabled Upgrade: Socket BGA1155 L1 Cache Handle: 0x0046 L2 Cache Handle: 0x0047 L3 Cache Handle: 0x0048 Serial Number: Not Specified Asset Tag: Fill By OEM Part Number: Fill By OEM Core Count: 4 Core Enabled: 4 Thread Count: 8 Characteristics: 64-bit capable Исторически сложилось что в нее втыкнуто 4 двухголовых igb сетевухи (не спрашивайте как, нет в том месте возможности сделать одну двухголовую IX) На машинке PPPOE c ~2000-2500 онлайна. Также dummynet и pf nat. Жила на ней 9.3 FreeBSD, машинка более менее себе работала. Возникла необходимость обновить софт. Поставили 12.1 и тут увидели что все полетело в тар-тарары. А все почему. В 9-11 FreeBSD - для каждой сетевухи создавался отдельный процесс типа intr{irq273: igb1:que} intr{irq292: igb3:que} и так далее. Так как УВЫ FreeBSD никак уже за уйму лет не может научиться паралелить по разным потокам PPPOE трафик то в FreeBSD 9-11 решалась данная проблема раскладыванием этих процессов по разным ядрам через cpuset и все было вполне неплохо. Сейчас же в FreeBSD 12 все собрано в пачку процессов типа kernel{if_io_tqg_0} kernel{if_io_tqg_1} kernel{if_io_tqg_2} kernel{if_io_tqg_3} И получается что нет возможности каждую сетевую "положить" на отдельное ядро. Как результат получается что сейчас обед и далеко от ЧНН а после обновления уже одно из ядер подгружается на 75-80%. К вечеру все "умрет" и сервиса практически не будет. Получилось что вроде бы должно было бы счастье при установке FreeBSD 12 - а получилось только хуже. Подскажите - что можно подкрутить чтоб решить данную проблему? Существует ли возможность в FreeBSD чтоб можно было процессы разных сетевух разложить по разным ядрам? Мы отключили hyperthreading но по ходу только стало хуже так как было 8 ядер соответственно можно было разложить процессы лучше чем сейчас на 4-х. Помогитееееее. Вставить ник Quote
Ivan_83 Posted April 4, 2020 Posted April 4, 2020 man iflib - читали? core_offset кажется то что вы хочите. Вставить ник Quote
Bear_UA Posted April 4, 2020 Author Posted April 4, 2020 (edited) 3 часа назад, Ivan_83 сказал: man iflib - читали? core_offset кажется то что вы хочите. lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8100b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER> ether 00:1b:21:36:7b:a5 laggproto lacp lagghash l2,l3,l4 laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: igb5 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: igb7 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> groups: lagg media: Ethernet autoselect status: active dev.igb.1.iflib.core_offset: 4 dev.igb.3.iflib.core_offset: 12 dev.igb.5.iflib.core_offset: 20 dev.igb.7.iflib.core_offset: 28 А при этом last pid: 24969; load averages: 3.58, 3.38, 3.35 up 0+20:43:59 22:28:27 134 threads: 9 running, 103 sleeping, 22 waiting CPU 0: 0.0% user, 0.0% nice, 100% system, 0.0% interrupt, 0.0% idle CPU 1: 4.8% user, 0.0% nice, 55.8% system, 0.0% interrupt, 39.4% idle CPU 2: 5.8% user, 0.0% nice, 42.3% system, 0.0% interrupt, 51.9% idle CPU 3: 8.7% user, 0.0% nice, 40.4% system, 1.0% interrupt, 50.0% idle Mem: 90M Active, 1130M Inact, 822M Wired, 243M Buf, 1825M Free Swap: 7693M Total, 7693M Free PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 0 root -76 - 0 400K CPU0 0 707:30 100.00% kernel{if_io_tqg_0} 11 root 155 ki31 0 64K RUN 3 870:45 46.49% idle{idle: cpu3} 11 root 155 ki31 0 64K RUN 2 876:55 45.50% idle{idle: cpu2} 0 root -92 - 0 400K - 1 257:31 44.67% kernel{dummynet} 11 root 155 ki31 0 64K RUN 1 875:44 44.47% idle{idle: cpu1} 0 root -76 - 0 400K - 1 210:45 34.48% kernel{if_io_tqg_1} 0 root -76 - 0 400K - 2 208:18 33.55% kernel{if_io_tqg_2} 0 root -76 - 0 400K CPU3 3 217:59 29.71% kernel{if_io_tqg_3} Трафика 2.5 гига :( Edited April 4, 2020 by Bear_UA Вставить ник Quote
Bear_UA Posted April 5, 2020 Author Posted April 5, 2020 Народ, ну помогите пожалуйста решить проблему :( Не хочется откатываться 9.х или 10.х :((( Вставить ник Quote
Ivan_83 Posted April 7, 2020 Posted April 7, 2020 Там ещё параметры есть :) Попробуйте спросить в рассылке, и авторов iflib в копию. Вставить ник Quote
cherokee Posted September 21, 2020 Posted September 21, 2020 У меня схожая ситуация с ТС. Железо: hw.model: Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz hw.ncpu: 4 ix0@pci0:1:0:0: class=0x020000 card=0x000c8086 chip=0x10fb8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82599ES 10-Gigabit SFI/SFP+ Network Connection' class = network subclass = ethernet cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit, vector masks cap 11[70] = MSI-X supports 64 messages, enabled Table in map 0x20[0x0], PBA in map 0x20[0x2000] cap 10[a0] = PCI-Express 2 endpoint max data 256(512) FLR NS link x8(x8) speed 5.0(5.0) ASPM disabled(L0s) cap 03[e0] = VPD ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected ecap 0003[140] = Serial 1 000000ffff000000 ecap 000e[150] = ARI 1 ecap 0010[160] = SR-IOV 1 IOV disabled, Memory Space disabled, ARI disabled 0 VFs configured out of 64 supported First VF RID Offset 0x0180, VF RID Stride 0x0002 VF Device ID 0x10ed Page Sizes: 4096 (enabled), 8192, 65536, 262144, 1048576, 4194304 Под нагрузкой: last pid: 42661; load averages: 1.35, 1.48, 1.45 up 3+09:23:27 19:17:59 131 threads: 8 running, 106 sleeping, 17 waiting CPU 0: 0.6% user, 0.0% nice, 56.0% system, 0.0% interrupt, 43.4% idle CPU 1: 1.1% user, 0.0% nice, 24.0% system, 0.6% interrupt, 74.3% idle CPU 2: 0.0% user, 0.0% nice, 17.7% system, 0.0% interrupt, 82.3% idle CPU 3: 1.7% user, 0.0% nice, 20.6% system, 0.6% interrupt, 77.1% idle Mem: 57M Active, 729M Inact, 953M Wired, 385M Buf, 2356M Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0 64K RUN 1 68.4H 77.05% idle{idle: cpu1} 11 root 155 ki31 0 64K CPU2 2 68.7H 76.09% idle{idle: cpu2} 11 root 155 ki31 0 64K CPU3 3 69.2H 75.53% idle{idle: cpu3} 0 root -76 - 0 384K CPU0 0 29.9H 58.63% kernel{if_io_tqg_0} 11 root 155 ki31 0 64K RUN 0 50.6H 40.42% idle{idle: cpu0} 0 root -76 - 0 384K - 3 600:52 21.46% kernel{if_io_tqg_3} 0 root -76 - 0 384K CPU2 2 609:23 20.15% kernel{if_io_tqg_2} 0 root -76 - 0 384K RUN 1 628:07 19.03% kernel{if_io_tqg_1} Ковыряя iflib решения для балансировки ядер и увеличения интерраптов не нашел. Помогите докопатся до решения Вставить ник Quote
Ivan_83 Posted September 21, 2020 Posted September 21, 2020 Спросите в рассылке фряшной, можно напрямую у тех кто коммитил в iflib - в гите все адреса почт видны. В лоадер: net.isr.maxthreads="1024" # Use at most this many CPUs for netisr processing net.isr.bindthreads="1" # Bind netisr threads to CPUs. В сисцтл (меняется без ребута): net.isr.dispatch=deferred # direct / hybrid / deffered // Interrupt handling via multiple CPU, but with context switch. Вставить ник Quote
vlad11 Posted September 22, 2020 Posted September 22, 2020 В 21.09.2020 в 15:18, cherokee сказал: У меня схожая ситуация с ТС. Железо: hw.model: Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz hw.ncpu: 4 ix0@pci0:1:0:0: class=0x020000 card=0x000c8086 chip=0x10fb8086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82599ES 10-Gigabit SFI/SFP+ Network Connection' class = network subclass = ethernet cap 01[40] = powerspec 3 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit, vector masks cap 11[70] = MSI-X supports 64 messages, enabled Table in map 0x20[0x0], PBA in map 0x20[0x2000] cap 10[a0] = PCI-Express 2 endpoint max data 256(512) FLR NS link x8(x8) speed 5.0(5.0) ASPM disabled(L0s) cap 03[e0] = VPD ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected ecap 0003[140] = Serial 1 000000ffff000000 ecap 000e[150] = ARI 1 ecap 0010[160] = SR-IOV 1 IOV disabled, Memory Space disabled, ARI disabled 0 VFs configured out of 64 supported First VF RID Offset 0x0180, VF RID Stride 0x0002 VF Device ID 0x10ed Page Sizes: 4096 (enabled), 8192, 65536, 262144, 1048576, 4194304 Под нагрузкой: last pid: 42661; load averages: 1.35, 1.48, 1.45 up 3+09:23:27 19:17:59 131 threads: 8 running, 106 sleeping, 17 waiting CPU 0: 0.6% user, 0.0% nice, 56.0% system, 0.0% interrupt, 43.4% idle CPU 1: 1.1% user, 0.0% nice, 24.0% system, 0.6% interrupt, 74.3% idle CPU 2: 0.0% user, 0.0% nice, 17.7% system, 0.0% interrupt, 82.3% idle CPU 3: 1.7% user, 0.0% nice, 20.6% system, 0.6% interrupt, 77.1% idle Mem: 57M Active, 729M Inact, 953M Wired, 385M Buf, 2356M Free Swap: 1024M Total, 1024M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0 64K RUN 1 68.4H 77.05% idle{idle: cpu1} 11 root 155 ki31 0 64K CPU2 2 68.7H 76.09% idle{idle: cpu2} 11 root 155 ki31 0 64K CPU3 3 69.2H 75.53% idle{idle: cpu3} 0 root -76 - 0 384K CPU0 0 29.9H 58.63% kernel{if_io_tqg_0} 11 root 155 ki31 0 64K RUN 0 50.6H 40.42% idle{idle: cpu0} 0 root -76 - 0 384K - 3 600:52 21.46% kernel{if_io_tqg_3} 0 root -76 - 0 384K CPU2 2 609:23 20.15% kernel{if_io_tqg_2} 0 root -76 - 0 384K RUN 1 628:07 19.03% kernel{if_io_tqg_1} Ковыряя iflib решения для балансировки ядер и увеличения интерраптов не нашел. Помогите докопатся до решения Ты в БИОСе многое поотключал. Включи назад. Вставить ник Quote
agnitumus Posted December 3, 2020 Posted December 3, 2020 Кто-то решил проблему ? Intel(R) Xeon(R) CPU E31240 @ 3.30GHz Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) у меня все те же траблы на 12.1. 7 лет юзал 9ку и горя не знал, но вот пришла беда серверу и на новый поставил 12.1 и понеслось Убрал гипертрединг и выставил: net.isr.dispatch=direct kern.random.harvest.mask=351 Есть еще предложения ? Вставить ник Quote
Sacrament Posted December 3, 2020 Posted December 3, 2020 Такая же свистопляска с 12.1 Подумываю свалить на Linux) Вставить ник Quote
Ivan_83 Posted December 4, 2020 Posted December 4, 2020 В 03.12.2020 в 03:47, agnitumus сказал: Кто-то решил проблему ? Мне бы ваши проблемы. :) В 03.12.2020 в 03:47, agnitumus сказал: Убрал гипертрединг и выставил: net.isr.dispatch=direct kern.random.harvest.mask=351 Зачем!? direct означает пакет будет полностью обработан в контексте потока прерывания, как то странно вы пытаетесь разгрузить типа единственный поток и разложить нагрузку по ядрам. маску не помню, но в целом для роутера там хоть 0 можно ставить. Опять же, в https://www.freebsd.org/cgi/man.cgi?query=iflib&sektion=4&manpath=freebsd-release-ports 100500 крутилок, те что sysctl крутятся без ребута, можно сидеть и пробовать. Что то пробовали? В рассылке freebsd-net@freebsd.org спрашивали? На форуме https://forums.freebsd.org? dev.igb.0.iflib.tx_abdicate=1 dev.igb.0.iflib.separate_txrx=1 ? В 03.12.2020 в 05:07, Sacrament сказал: Подумываю свалить на Linux) С таким подходом вам только платная поддержка виндовс поможет :) Вставить ник Quote
Mechanic Posted December 9, 2020 Posted December 9, 2020 В 03.12.2020 в 03:47, agnitumus сказал: Кто-то решил проблему ? Intel(R) Xeon(R) CPU E31240 @ 3.30GHz Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) у меня все те же траблы на 12.1. 7 лет юзал 9ку и горя не знал, но вот пришла беда серверу и на новый поставил 12.1 и понеслось Убрал гипертрединг и выставил: net.isr.dispatch=direct kern.random.harvest.mask=351 Есть еще предложения ? gполучилось сдвинуть вопрос ? обновляю систему с 9, думал 12 накатить. Вставить ник Quote
No_name Posted December 10, 2020 Posted December 10, 2020 Коллеги, ну вы же, я надеюсь, на тестовые машины ставите, а не боевые обновляете? Зачем вам 12, чем 9ка не устраивала? Сижу на 9.3 и пока не думаю и переходить. Работает стабильно. Вставить ник Quote
Ivan_83 Posted December 11, 2020 Posted December 11, 2020 Сижу на 12.2 стабле и думаю на 13 сваливать... На работе на 13.1 перейдём, видимо к концу след года. 18 часов назад, No_name сказал: Зачем вам 12, чем 9ка не устраивала? Сижу на 9.3 и пока не думаю и переходить. Работает стабильно. Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Вставить ник Quote
No_name Posted December 11, 2020 Posted December 11, 2020 1 час назад, Ivan_83 сказал: Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Не хватит своих знаний, в мануалах или у сообщества почерпну, сейчас это не такая большая проблема и никогда особо не было. Собсно, не о том речь то шла, а о том, что все нужно делать с чувством, с толком и с расстановкой. Да, у меня не 100500 серваков, а всего лишь с десяток. И если очень нужно будет сильно обновиться, что бы ничего не сломалось критичное, я просто накачу на тестовый сервак свеженькое, потестю, если все пойдет как надо, то обновлю старое, в крайнем случае, просто перенесу диск на рабочий. А не слишком критичное, впрочем, всегда нормально все обновлялось и так. А апгрейды, это такое себе занятие, с ними иногда очень аккуратно надо. У кого-то как по маслу, а у тебя, особенно со специфичным старым софтом или железом потом может и не взлететь. Вставить ник Quote
Ivan_83 Posted December 11, 2020 Posted December 11, 2020 31 минуту назад, No_name сказал: А апгрейды, это такое себе занятие, с ними иногда очень аккуратно надо. У кого-то как по маслу, а у тебя, особенно со специфичным старым софтом или железом потом может и не взлететь. Апгрейды это как у студента сессия: если ты целый год учился и вовремя сдавал - получаешь автомат, а если нихрена не делал - у тебя две ночи чтобы всё выучить. Всмысле или ты каждый день что то по немногу обновляешь и фиксишь если какая то мелочь сломалась, настройки переносишь которые названия поменяли и тп, или ты делаешь это раз в несколько лет и у тебя куча работы по конвертации настроек, поисков новых чтобы получить нужное тебе поведение и тп. А иногда требуется придти в багтрекер/рассылку и громко жаловаться что сломали то что тебе было нужно. Вставить ник Quote
jffulcrum Posted December 14, 2020 Posted December 14, 2020 В 11.12.2020 в 17:14, Ivan_83 сказал: Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Я боюсь, что из вашего поста можно циферки убрать и говорить о FreeBSD в целом. Я с 2018 года по работе не припоминаю проектов с фрёй, конечно, в нашенском гыртырпрайзе не показатель, но уже и внутренние сервисы все переехали на другие ОС, а новички про книги на видном месте спрашивают "А это про что?" Вставить ник Quote
Mechanic Posted December 24, 2020 Posted December 24, 2020 В 14.12.2020 в 19:45, jffulcrum сказал: Я боюсь, что из вашего поста можно циферки убрать и говорить о FreeBSD в целом. Я с 2018 года по работе не припоминаю проектов с фрёй, конечно, в нашенском гыртырпрайзе не показатель, но уже и внутренние сервисы все переехали на другие ОС, а новички про книги на видном месте спрашивают "А это про что?" задачи то у всех разные Если на серваке задачи, которые не требуют обновления портов, то его можно гадами не трогать, но если приспичит...придется много поизучать Вставить ник Quote
jffulcrum Posted December 25, 2020 Posted December 25, 2020 ну, с учетом событий в соседней ветке , и на старуху бывает порнуха Вставить ник Quote
XMan_ Posted January 13, 2021 Posted January 13, 2021 Всем привет! Недавно поставил 12.2 , сетевуха Emulex 10G. Два проца E5-2630L 2.4GHz. Также был удивлён, что загрузка попала в системную. CPU 0: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 1.6% interrupt, 98.4% idle CPU 2: 0.8% user, 0.0% nice, 0.0% system, 0.8% interrupt, 98.4% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 0.8% interrupt, 99.2% idle CPU 4: 0.0% user, 0.0% nice, 55.2% system, 0.0% interrupt, 44.8% idle CPU 5: 0.8% user, 0.0% nice, 4.8% system, 0.0% interrupt, 94.4% idle CPU 6: 0.0% user, 0.0% nice, 4.8% system, 0.0% interrupt, 95.2% idle CPU 7: 0.0% user, 0.0% nice, 4.8% system, 0.0% interrupt, 95.2% idle CPU 8: 0.0% user, 0.0% nice, 24.8% system, 0.0% interrupt, 75.2% idle CPU 9: 0.0% user, 0.0% nice, 25.6% system, 0.0% interrupt, 74.4% idle CPU 10: 0.0% user, 0.0% nice, 20.0% system, 0.0% interrupt, 80.0% idle CPU 11: 0.8% user, 0.0% nice, 21.6% system, 0.0% interrupt, 77.6% idle Здесь 1k+ PPPoE-сессий. Трафик 1-1,5 гига Раскидал по ядрам очереди с помощью cpuset. Не сразу только понял какие именно прерывания использует сетевуха. Может проблемы то и нет или это 12.2 уже доработанная? Вот как нагрузку выровнять пока не понял. Самая первая из oce0 на 4-м ядре сильнее всех загружена... Вставить ник Quote
Ivan_83 Posted January 13, 2021 Posted January 13, 2021 Так радуйтесь что в системную, там хоть какие то шансы её распределить, а было бы в прерываниях - почти без вариантов. Опять же вопрос: а зачем два проца, когда трафик в полтора гига тут натили на фре ещё лет 15 назад на обычном коредуо? На самом деле нужно читать рассылку и коммиты, в 12 завезли RSS, кажется оно может как то раскидывать по ядрам обработку пакетов. Или спросить в рассылке freebsd-net@freebsd.org Вставить ник Quote
Sacrament Posted January 14, 2021 Posted January 14, 2021 11 часов назад, XMan_ сказал: Всем привет! Недавно поставил 12.2 , сетевуха Emulex 10G. Два проца E5-2630L 2.4GHz. Также был удивлён, что загрузка попала в системную. CPU 0: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 1.6% interrupt, 98.4% idle CPU 2: 0.8% user, 0.0% nice, 0.0% system, 0.8% interrupt, 98.4% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 0.8% interrupt, 99.2% idle CPU 4: 0.0% user, 0.0% nice, 55.2% system, 0.0% interrupt, 44.8% idle CPU 5: 0.8% user, 0.0% nice, 4.8% system, 0.0% interrupt, 94.4% idle CPU 6: 0.0% user, 0.0% nice, 4.8% system, 0.0% interrupt, 95.2% idle CPU 7: 0.0% user, 0.0% nice, 4.8% system, 0.0% interrupt, 95.2% idle CPU 8: 0.0% user, 0.0% nice, 24.8% system, 0.0% interrupt, 75.2% idle CPU 9: 0.0% user, 0.0% nice, 25.6% system, 0.0% interrupt, 74.4% idle CPU 10: 0.0% user, 0.0% nice, 20.0% system, 0.0% interrupt, 80.0% idle CPU 11: 0.8% user, 0.0% nice, 21.6% system, 0.0% interrupt, 77.6% idle Здесь 1k+ PPPoE-сессий. Трафик 1-1,5 гига Раскидал по ядрам очереди с помощью cpuset. Не сразу только понял какие именно прерывания использует сетевуха. Может проблемы то и нет или это 12.2 уже доработанная? Вот как нагрузку выровнять пока не понял. Самая первая из oce0 на 4-м ядре сильнее всех загружена... Я ради интереса сделал из одного браса на Freebsd 12.1 Брас на accel-ppp Был приятно удивлен. Получилось раскидать нагрузку по ядрам с помощью RPS (у меня pppoe)(проц Xeon E3-1270v1) В итоге на этом же железе вместо 1400 сессий спокойно держу 2400. Вставить ник Quote
djeklu Posted January 14, 2021 Posted January 14, 2021 (edited) 8 hours ago, Sacrament said: Я ради интереса сделал из одного браса на Freebsd 12.1 Брас на accel-ppp Был приятно удивлен. Получилось раскидать нагрузку по ядрам с помощью RPS (у меня pppoe)(проц Xeon E3-1270v1) В итоге на этом же железе вместо 1400 сессий спокойно держу 2400. а какая разница сколько у тебя сессий. у тебя их может быть хоть 10к - тут нужен еще пару параметров: пакетов в сек, и скорость/трафик. у меня не получилось пробить потолок в 4Гиг трафика (freebsd, pf_nat, ipfw+dummynet(tablearg, pipe)) Да да , смотрим в сторону джуни - даже уже стоит мх204 - но пока мало опыта его конфигурирования, и вместо pf_nat - в планах использование A10 - но это тема для другой ветки. а пока - freebsd...... Edited January 14, 2021 by djeklu Вставить ник Quote
XMan_ Posted January 14, 2021 Posted January 14, 2021 19 часов назад, Ivan_83 сказал: Так радуйтесь что в системную, там хоть какие то шансы её распределить, а было бы в прерываниях - почти без вариантов. Опять же вопрос: а зачем два проца, когда трафик в полтора гига тут натили на фре ещё лет 15 назад на обычном коредуо? Я исходил из логики - каждому прерыванию дать отдельное ядро. Или так не совсем оптимально делать? Повесил 8-мь прерываний на 4-11 ядра, оставив 0-3 для других системных приложений. 9 часов назад, Sacrament сказал: Я ради интереса сделал из одного браса на Freebsd 12.1 Брас на accel-ppp Был приятно удивлен. Получилось раскидать нагрузку по ядрам с помощью RPS (у меня pppoe)(проц Xeon E3-1270v1) В итоге на этом же железе вместо 1400 сессий спокойно держу 2400. Сделал sysctl net.isr.dispatch=deferred Получилось весьма интересно. Системная нагрузка упала. Появилась нагрузка от прерываний на 0-4 ядрах, которые как раз члены пинали до этого момента. Но, иногда нагрузка переходит и на другие ядра. Т.е., система сама как-то решает. Имхо, потенциал производительности тут хороший. last pid: 12687; load averages: 1.75, 1.76, 1.71 up 25+02:15:00 20:35:04 210 threads: 14 running, 156 sleeping, 40 waiting CPU 0: 0.0% user, 0.0% nice, 0.0% system, 4.9% interrupt, 95.1% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 30.3% interrupt, 69.7% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 23.8% interrupt, 76.2% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, 19.5% interrupt, 80.5% idle CPU 4: 0.0% user, 0.0% nice, 30.3% system, 0.0% interrupt, 69.7% idle CPU 5: 0.0% user, 0.0% nice, 2.2% system, 3.8% interrupt, 94.1% idle CPU 6: 0.0% user, 0.0% nice, 3.2% system, 0.0% interrupt, 96.8% idle CPU 7: 0.5% user, 0.0% nice, 4.3% system, 0.0% interrupt, 95.1% idle CPU 8: 0.0% user, 0.0% nice, 9.2% system, 0.0% interrupt, 90.8% idle CPU 9: 0.5% user, 0.0% nice, 10.3% system, 0.0% interrupt, 89.2% idle CPU 10: 2.2% user, 0.0% nice, 8.1% system, 0.0% interrupt, 89.7% idle CPU 11: 0.0% user, 0.0% nice, 9.2% system, 0.0% interrupt, 90.8% idle Mem: 20M Active, 771M Inact, 1760M Wired, 1047M Buf, 13G Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 11 root 155 ki31 0B 192K CPU11 11 543.9H 93.86% idle{idle: cpu11} 11 root 155 ki31 0B 192K CPU9 9 542.6H 93.72% idle{idle: cpu9} 11 root 155 ki31 0B 192K CPU6 6 585.7H 93.68% idle{idle: cpu6} 11 root 155 ki31 0B 192K CPU7 7 585.1H 93.60% idle{idle: cpu7} 11 root 155 ki31 0B 192K CPU10 10 544.4H 93.27% idle{idle: cpu10} 11 root 155 ki31 0B 192K CPU0 0 594.7H 93.09% idle{idle: cpu0} 11 root 155 ki31 0B 192K CPU5 5 573.3H 92.12% idle{idle: cpu5} 11 root 155 ki31 0B 192K CPU8 8 515.3H 90.53% idle{idle: cpu8} 11 root 155 ki31 0B 192K CPU3 3 590.0H 82.24% idle{idle: cpu3} 12 root -72 - 0B 640K WAIT 0 560:55 78.96% intr{swi1: netisr 0} 11 root 155 ki31 0B 192K RUN 2 594.4H 76.90% idle{idle: cpu2} 11 root 155 ki31 0B 192K CPU4 4 447.5H 71.64% idle{idle: cpu4} 11 root 155 ki31 0B 192K CPU1 1 594.5H 69.41% idle{idle: cpu1} 0 root -92 - 0B 928K - 4 159.7H 28.10% kernel{oce0 taskq} 0 root -92 - 0B 928K - 8 90.5H 9.25% kernel{oce1 taskq} 0 root -92 - 0B 928K - 10 59.3H 5.79% kernel{oce1 taskq} 0 root -92 - 0B 928K - 11 59.7H 5.55% kernel{oce1 taskq} 0 root -92 - 0B 928K - 7 885:44 5.41% kernel{oce0 taskq} 0 root -92 - 0B 928K CPU6 6 847:20 5.32% kernel{oce0 taskq} 2268 root 52 0 95M 33M select 7 691:41 4.98% mpd5{mpd5} 0 root -92 - 0B 928K - 9 60.9H 4.69% kernel{oce1 taskq} 12 root -60 - 0B 640K WAIT 1 826:18 3.89% intr{swi4: clock (0)} 0 root -92 - 0B 928K - 5 789:04 3.26% kernel{oce0 taskq} 0 root -92 - 0B 928K - 5 70:14 0.16% kernel{dummynet} 29 root -16 - 0B 16K - 11 53:00 0.13% rand_harvestq Вставить ник Quote
Sacrament Posted January 15, 2021 Posted January 15, 2021 9 часов назад, djeklu сказал: а какая разница сколько у тебя сессий. у тебя их может быть хоть 10к - тут нужен еще пару параметров: пакетов в сек, и скорость/трафик. у меня не получилось пробить потолок в 4Гиг трафика (freebsd, pf_nat, ipfw+dummynet(tablearg, pipe)) Да да , смотрим в сторону джуни - даже уже стоит мх204 - но пока мало опыта его конфигурирования, и вместо pf_nat - в планах использование A10 - но это тема для другой ветки. а пока - freebsd...... Сообразно кол-ву сессий увеличился и пропускной трафик. Я же не синтетику гонял, а реальных абонентов. В данный момент в пике пропускает 4.5-5 Gbps pps не снимаю. НАТа нет, только терминация. Вставить ник 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.