Bear_UA Опубликовано 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-х. Помогитееееее. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 4 апреля, 2020 · Жалоба man iflib - читали? core_offset кажется то что вы хочите. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Bear_UA Опубликовано 4 апреля, 2020 (изменено) · Жалоба 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 гига :( Изменено 4 апреля, 2020 пользователем Bear_UA Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Bear_UA Опубликовано 5 апреля, 2020 · Жалоба Народ, ну помогите пожалуйста решить проблему :( Не хочется откатываться 9.х или 10.х :((( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 7 апреля, 2020 · Жалоба Там ещё параметры есть :) Попробуйте спросить в рассылке, и авторов iflib в копию. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
cherokee Опубликовано 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 решения для балансировки ядер и увеличения интерраптов не нашел. Помогите докопатся до решения Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 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. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 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 решения для балансировки ядер и увеличения интерраптов не нашел. Помогите докопатся до решения Ты в БИОСе многое поотключал. Включи назад. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agnitumus Опубликовано 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 Есть еще предложения ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sacrament Опубликовано 3 декабря, 2020 · Жалоба Такая же свистопляска с 12.1 Подумываю свалить на Linux) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 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) С таким подходом вам только платная поддержка виндовс поможет :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mechanic Опубликовано 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 накатить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
No_name Опубликовано 10 декабря, 2020 · Жалоба Коллеги, ну вы же, я надеюсь, на тестовые машины ставите, а не боевые обновляете? Зачем вам 12, чем 9ка не устраивала? Сижу на 9.3 и пока не думаю и переходить. Работает стабильно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 декабря, 2020 · Жалоба Сижу на 12.2 стабле и думаю на 13 сваливать... На работе на 13.1 перейдём, видимо к концу след года. 18 часов назад, No_name сказал: Зачем вам 12, чем 9ка не устраивала? Сижу на 9.3 и пока не думаю и переходить. Работает стабильно. Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
No_name Опубликовано 11 декабря, 2020 · Жалоба 1 час назад, Ivan_83 сказал: Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Не хватит своих знаний, в мануалах или у сообщества почерпну, сейчас это не такая большая проблема и никогда особо не было. Собсно, не о том речь то шла, а о том, что все нужно делать с чувством, с толком и с расстановкой. Да, у меня не 100500 серваков, а всего лишь с десяток. И если очень нужно будет сильно обновиться, что бы ничего не сломалось критичное, я просто накачу на тестовый сервак свеженькое, потестю, если все пойдет как надо, то обновлю старое, в крайнем случае, просто перенесу диск на рабочий. А не слишком критичное, впрочем, всегда нормально все обновлялось и так. А апгрейды, это такое себе занятие, с ними иногда очень аккуратно надо. У кого-то как по маслу, а у тебя, особенно со специфичным старым софтом или железом потом может и не взлететь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 11 декабря, 2020 · Жалоба 31 минуту назад, No_name сказал: А апгрейды, это такое себе занятие, с ними иногда очень аккуратно надо. У кого-то как по маслу, а у тебя, особенно со специфичным старым софтом или железом потом может и не взлететь. Апгрейды это как у студента сессия: если ты целый год учился и вовремя сдавал - получаешь автомат, а если нихрена не делал - у тебя две ночи чтобы всё выучить. Всмысле или ты каждый день что то по немногу обновляешь и фиксишь если какая то мелочь сломалась, настройки переносишь которые названия поменяли и тп, или ты делаешь это раз в несколько лет и у тебя куча работы по конвертации настроек, поисков новых чтобы получить нужное тебе поведение и тп. А иногда требуется придти в багтрекер/рассылку и громко жаловаться что сломали то что тебе было нужно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 14 декабря, 2020 · Жалоба В 11.12.2020 в 17:14, Ivan_83 сказал: Вы загоняете себя в ситуацию, когда ваши знания не развиваются. Ещё пару лет и можете получить железо где 9х даже не запустится, знаний по чему то более новому у вас нет, а как обычно "нужно уже вчера" это пустить в продакшен. На 9х даже порты ставить и то проблематично, нужно искать старые срезы и надеяться что всё что нужно скачается. Я боюсь, что из вашего поста можно циферки убрать и говорить о FreeBSD в целом. Я с 2018 года по работе не припоминаю проектов с фрёй, конечно, в нашенском гыртырпрайзе не показатель, но уже и внутренние сервисы все переехали на другие ОС, а новички про книги на видном месте спрашивают "А это про что?" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Mechanic Опубликовано 24 декабря, 2020 · Жалоба В 14.12.2020 в 19:45, jffulcrum сказал: Я боюсь, что из вашего поста можно циферки убрать и говорить о FreeBSD в целом. Я с 2018 года по работе не припоминаю проектов с фрёй, конечно, в нашенском гыртырпрайзе не показатель, но уже и внутренние сервисы все переехали на другие ОС, а новички про книги на видном месте спрашивают "А это про что?" задачи то у всех разные Если на серваке задачи, которые не требуют обновления портов, то его можно гадами не трогать, но если приспичит...придется много поизучать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 25 декабря, 2020 · Жалоба ну, с учетом событий в соседней ветке , и на старуху бывает порнуха Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
XMan_ Опубликовано 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-м ядре сильнее всех загружена... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 13 января, 2021 · Жалоба Так радуйтесь что в системную, там хоть какие то шансы её распределить, а было бы в прерываниях - почти без вариантов. Опять же вопрос: а зачем два проца, когда трафик в полтора гига тут натили на фре ещё лет 15 назад на обычном коредуо? На самом деле нужно читать рассылку и коммиты, в 12 завезли RSS, кажется оно может как то раскидывать по ядрам обработку пакетов. Или спросить в рассылке freebsd-net@freebsd.org Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sacrament Опубликовано 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. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
djeklu Опубликовано 14 января, 2021 (изменено) · Жалоба 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...... Изменено 14 января, 2021 пользователем djeklu Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
XMan_ Опубликовано 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sacrament Опубликовано 15 января, 2021 · Жалоба 9 часов назад, djeklu сказал: а какая разница сколько у тебя сессий. у тебя их может быть хоть 10к - тут нужен еще пару параметров: пакетов в сек, и скорость/трафик. у меня не получилось пробить потолок в 4Гиг трафика (freebsd, pf_nat, ipfw+dummynet(tablearg, pipe)) Да да , смотрим в сторону джуни - даже уже стоит мх204 - но пока мало опыта его конфигурирования, и вместо pf_nat - в планах использование A10 - но это тема для другой ветки. а пока - freebsd...... Сообразно кол-ву сессий увеличился и пропускной трафик. Я же не синтетику гонял, а реальных абонентов. В данный момент в пике пропускает 4.5-5 Gbps pps не снимаю. НАТа нет, только терминация. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...