Вопрос

Мы пытаемся сделать сервер API для нашего проекта.

Мы используем MongoDB с Pimongo на Debian Boxes. Каждое время обновляется.

Но у нас действительно странная проблема с подключением. Как правило, более 15 тыс. 32 тыс. Подключений с портом MongoDB, когда я проверяю с

root@webserver1:/# netstat -na | grep mongo_db_ip | wc -l

Я получил 15363

Соединения в состоянии времени_wait ...

Но когда я проверяю Монго, я вижу только 5-6 соединений в данный момент ...

Мы написали класс MongoDB, который создает экземпляр и устанавливает связь. Мы пытались вызовать conn.disconnect () или conn.end_request () каждый раз, когда заканчивается запросом, но это не останавливается, этот высокий номер соединения ...

Есть ли кто -нибудь, что может сказать, что должно быть моей ошибкой, или есть какой -нибудь письменный класс Python для MongoDB, чтобы изучить, как другие делают, как вещи ...

Спасибо за помощь и информацию ...

Это было полезно?

Решение

Time_Wait не является открытым соединением. Это состояние операционной системы для розетки, так что оно может убедиться, что все данные прошли. AFAIK, длина по умолчанию для этого на Linux - минута. Посмотри на http://antmeetspenguin.blogspot.com/2008/10/1tewait-in-netstat.html, у него есть хорошее объяснение. Вы можете сказать ядру повторно использовать гнезда Time_wait:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

уменьшает его до 30 секунд.

Тем не менее, вы должны проверить, почему вы устанавливаете так много связей. Вы говорите, что используете пакеты Debian для Mongod и Pimongo, и они, как правило, устарели. Вы действительно хотите управлять Mongod 2.0.2 и Pimongo 2.1.1.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top