Страница 1 из 1

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-27 10:33:24
savio
Есть сервер FreeBSD 10.1-RC3 на котором работает не один год уже vpn-сервер mpd5.8
Неожиданно для меня, возникла проблема:

1)vpn-сесии есть, но трафик по ним к клиентам не ходит
2) существуют только ранее подключенный сесии, новые сесии не создаются, тоесть клиент подключиться не может
2) попытка /usr/local/etc/rc.d/mpd5 restart висит и очень долго
3) в консоли обнаружил следуюющее

Код: Выделить всё

...
sonewconn: pcb 0xfffff80011dc4188: Listen queue overflow: 1537 already in queue awaiting acceptance (806 occurrences)
sonewconn: pcb 0xfffff80011dc4188: Listen queue overflow: 1537 already in queue awaiting acceptance (819 occurrences)
...
погуглив(1,2,3) привел свой sysctl.conf к следующему виду:

Код: Выделить всё

kern.ipc.somaxconn=8192
kern.ipc.maxsockets=204800
net.inet.udp.maxdgram=57344
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.ip.portrange.randomized=0
net.inet.tcp.nolocaltimewait=1
перегрузил сервер, vpn-соединений(pptp) не больше 100шт
Прошло два дня и снова таже история, в консоли наблюдаю аналогичную картину:

Код: Выделить всё

sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (764 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (770 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (759 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (753 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (755 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (756 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (774 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (756 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (753 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (708 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (655 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (739 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (767 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (746 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (771 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (688 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (648 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (657 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (653 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (649 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (642 occurrences)
sonewconn: pcb 0xfffff80043dc3620: Listen queue overflow: 6145 already in queue awaiting acceptance (689 occurrences)
Собственно сабж, что не так? куда копать?
Буду признателен за помощь

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-27 10:46:24
LBV
Я б обновил систему до нормальной, а не RC плюс пересобрать софт. И еще пару интересных каментов:
Лучше перейти на 11-ю ветку. Туда вошли несколько патчей для netgraph,
которых нету в 10-й. Позволяет немного сократить путь пакета в netgraph,
если не включены компрессия, шифрование и т.п.
В mpd-5.8 появилась новая опция 'set link remove-tee", которая убирает
ng_tee ноду из цепочки, при уже поднятом соединении, что убирает несколько
блокировок и сокращает путь пакета в netgraph.
Попробуйте этот патч для mpd: http://pastebin.com/trtBCtvG Он заменяет
системный вызов poll() на kqueue(), что актуально для большого количества
соединений
Попробуйте выключить icmp redirect. Это избавит от лишней блокировки в
сетевом стеке.
Выключите сборку энтропии для random генератора для всей сетевой
подсистемы и прерыванийr. Например, по умолчанию для 11-CURRENT стоят такие
значения: kern.random.harvest.mask_symbolic:
[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Проверьте по "vmstat -z", хватает ли памяти ядра для netgraph
Пруф: https://sourceforge.net/p/mpd/bugs/58/? ... /bbee/17d2

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-27 17:29:30
savio
дело в том что 11-я ветка еще даже не бета. В продакшен как то стрёмно ее ставить, дабы других бед не получить

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-27 17:45:46
LBV
Обновись хотяб до RELEASE, а лучше STABLE и переустанови пакеты.

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-28 20:55:00
savio
наверно лучше RELEASE а не STABLE

sonewconn pcb Listen queue overflow

Добавлено: 2016-05-29 9:55:41
Neus
Ну вообще то их 3 ветки: current, stable, releng.
release это snapshot stable из которого делают iso, а фиксы топают в releng.
stable можно пользовать, если самому предварительно тестировать перед обновлением продакшена.

sonewconn pcb Listen queue overflow

Добавлено: 2016-06-03 5:51:18
savio
обновился до 10.3 RELEASE, пока что полет нормальный...