default_vlan Posted September 23, 2019 Posted September 23, 2019 Привет всем. Второй день подряд сервер падает по избытку в длине очереди. Сначала стоял параметр 4096, его завалила очередь 6200. Поднял значение до 8192 - завален очередью в over12K. Сейчас значение - 16К, вангую, что опять завалится. Собственно, как отловить тех, кто долбится настолько массово? netstat -na | grep 1723 с сортировкой? Сервер mpd5 + pptp. Спасибо. Вставить ник Quote
vlad11 Posted September 23, 2019 Posted September 23, 2019 Тюнинговать надо сиcтему. Отталкивайтесь от своей ветки FreeBSD. Вставить ник Quote
jffulcrum Posted September 23, 2019 Posted September 23, 2019 На вас наверняка подборщики паролей налетели. Только бан сетями, желательно на оборудовании перед сервером. Чтобы не так быстро заваливали, подтягивайте также syncache и tcbhashsize Вставить ник Quote
Ivan_83 Posted September 23, 2019 Posted September 23, 2019 4 часа назад, default_vlan сказал: Второй день подряд сервер падает по избытку в длине очереди. Сначала стоял параметр 4096, его завалила очередь 6200. Поднял значение до 8192 - завален очередью в over12K. Сейчас значение - 16К, вангую, что опять завалится. Как будто от себя отрываешь :) Поставь 128к и посмотри что получится. Вставить ник Quote
default_vlan Posted September 24, 2019 Author Posted September 24, 2019 11 часов назад, Ivan_83 сказал: Как будто от себя отрываешь :) У меня на 64К не заводится)) В сервере 8 ГБ ОЗУ. 12 часов назад, jffulcrum сказал: Только бан сетями Как отсеять сети? Вставить ник Quote
Ivan_83 Posted September 24, 2019 Posted September 24, 2019 1 час назад, default_vlan сказал: У меня на 64К не заводится)) В сервере 8 ГБ ОЗУ. В лоадере: # NETWORKING OPTIONS net.link.ifqmaxlen="65536" # max send queue size # NetISR net.isr.maxthreads="1024" # Use at most this many CPUs for netisr processing net.isr.bindthreads="1" # Bind netisr threads to CPUs. net.isr.defaultqlimit="65536" # Default netisr per-protocol, per-CPU queue limit if not set by protocol net.isr.maxqlimit="65536" # Maximum netisr per-protocol, per-CPU queue depth. В сисцтл: net.route.netisr_maxqlen=65536 # maximum routing socket dispatch queue length net.inet.ip.intr_queue_maxlen=65536 # Maximum size of the IP input queue. Should be increased until net.inet.ip.intr_queue_drops is zero это у меня просто везде стоит и нет проблем. Вставить ник Quote
default_vlan Posted September 24, 2019 Author Posted September 24, 2019 1 час назад, Ivan_83 сказал: NetISR что это? В двух словах, если можно) Вставить ник Quote
Ivan_83 Posted September 26, 2019 Posted September 26, 2019 В 24.09.2019 в 15:07, default_vlan сказал: что это? В двух словах, если можно) Тоже что и ng_queue или как там воркер нетграфа называется :) Сетевуха в обработчике прерывания вместо того чтобы целиком отрабатывать пакет по всему стёку просто кидает его в очередь, а потоки подсистемы isr их от туда забирают и обрабатывают дальше. Профит в том, что потоков можно сделать по количеству ядер, прибиндить к ядрам, а в случае двух сетевух ты проц между ними не разделишь да так чтобы они не мешались друг другу, ну и всплески трафика так тоже проще переживать - скинул в очередь и принимаешь ещё. Минусом - больше задержка, какиенить высокодрочистые трейдеры за эти 0,25мс на говно изведутся :) Вставить ник Quote
default_vlan Posted September 26, 2019 Author Posted September 26, 2019 6 часов назад, Ivan_83 сказал: Профит в том, что потоков можно сделать по количеству ядер я правильно понимаю, что net.isr.bindthreads="1" # Bind netisr threads to CPUs. указывает сколько ядер будет юзаться? Или это логическое значение - типа привязать/не_привязать? Вставить ник Quote
Ivan_83 Posted September 27, 2019 Posted September 27, 2019 19 часов назад, default_vlan сказал: это логическое значение - типа привязать/не_привязать Вставить ник 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.