Pimongo не закрывает соединения
Вопрос
Мы пытаемся сделать сервер 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.