Jump to content
Калькуляторы

freebsd qlen

Привет всем.
Второй день подряд сервер падает по избытку в длине очереди. Сначала стоял параметр 4096, его завалила очередь 6200. Поднял значение до 8192 - завален очередью в over12K. Сейчас значение - 16К, вангую, что опять завалится.
Собственно, как отловить тех, кто долбится настолько массово?

netstat -na | grep 1723 с сортировкой?
Сервер mpd5 + pptp.

 

Спасибо.

Share this post


Link to post
Share on other sites

Тюнинговать надо сиcтему.
Отталкивайтесь от своей ветки FreeBSD.

Share this post


Link to post
Share on other sites

На вас наверняка подборщики паролей налетели. Только бан сетями, желательно на оборудовании перед сервером. Чтобы не так быстро заваливали, подтягивайте также syncache и tcbhashsize

Share this post


Link to post
Share on other sites
4 часа назад, default_vlan сказал:

Второй день подряд сервер падает по избытку в длине очереди. Сначала стоял параметр 4096, его завалила очередь 6200. Поднял значение до 8192 - завален очередью в over12K. Сейчас значение - 16К, вангую, что опять завалится.

Как будто от себя отрываешь :)

Поставь 128к и посмотри что получится.

Share this post


Link to post
Share on other sites
11 часов назад, Ivan_83 сказал:

Как будто от себя отрываешь :)

У меня на 64К не заводится)) В сервере 8 ГБ ОЗУ.

 

12 часов назад, jffulcrum сказал:

Только бан сетями

Как отсеять сети?

Share this post


Link to post
Share on other sites
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

 

это у меня просто везде стоит и нет проблем.

Share this post


Link to post
Share on other sites
В 24.09.2019 в 15:07, default_vlan сказал:

что это? В двух словах, если можно)

Тоже что и ng_queue или как там воркер нетграфа называется :)

Сетевуха в обработчике прерывания вместо того чтобы целиком отрабатывать пакет по всему стёку просто кидает его в очередь, а потоки подсистемы isr их от туда забирают и обрабатывают дальше.

Профит в том, что потоков можно сделать по количеству ядер, прибиндить к ядрам, а в случае двух сетевух ты проц между ними не разделишь да так чтобы они не мешались друг другу, ну и всплески трафика так тоже проще переживать - скинул в очередь и принимаешь ещё.

Минусом - больше задержка, какиенить высокодрочистые трейдеры за эти 0,25мс на говно изведутся :)

Share this post


Link to post
Share on other sites
6 часов назад, Ivan_83 сказал:

Профит в том, что потоков можно сделать по количеству ядер

я правильно понимаю, что 

net.isr.bindthreads="1"        # Bind netisr threads to CPUs.

 

указывает сколько ядер будет юзаться? Или это логическое значение - типа привязать/не_привязать?

Share this post


Link to post
Share on other sites
19 часов назад, default_vlan сказал:

это логическое значение - типа привязать/не_привязать

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this