mongodb: Может создать новый поток на FreeBSD?

Как альтернатива использованию u32 модуля netfilter, который, поскольку Вы нашли, в значительной степени не документирован, Вы могли использовать nfnetlink_queue подсистема netfilter. Идея состоит в том, что Вы отправляете пакеты посредством процесса пространства пользователя (скорее всего, демон), который исследует пакеты, ОТМЕЧАЕТ их, как он считает целесообразным и затем возвращает их netfilter для последующей обработки.

Механика этого относительно проста. iptables QUEUE и NFQUEUE цели помещают выбранные пакеты на очередь, и процесс пространства пользователя берет пакеты оттуда через nfnetlink_queue API (документация здесь). Когда каждый пакет возвращается к netfilter от пространства пользователя, МАРК, установленный процессом, может привыкнуть к прямым пакетам посредством последующей обработки (скажем, iptables или tc).

Протест: Я на самом деле никогда не реализовывал решение с помощью модуля очереди netlink, таким образом, у меня нет собственного опыта относительно его потенциальной устойчивости, безопасности или производительности. Очевидно, демон пространства пользователя, через которого потоки сетевых пакетов должны были бы быть разработаны с изрядным количеством ухода.

0
задан 8 November 2013 в 17:44
1 ответ

Проект Mongo DB рекомендует установить

kern.threads.max_threads_per_proc=32000
kern.maxfilesperproc=64000

в /etc/sysctl.conf . Вы можете запустить /etc/rc.d/sysctl restart , чтобы новые настройки вступили в силу немедленно, или перезагрузитесь (независимо от того, что плавает ваша лодка)

2
ответ дан 4 December 2019 в 14:05

Теги

Похожие вопросы