Слишком много открытых соединений mongoDB при использовании Celery - PullRequest
1 голос
/ 24 июня 2011

Я использую Celery для загрузки каналов и изменения размера изображений.Каналы и пути к изображениям затем сохраняются в MongoDB с помощью mongoengine.Когда я проверяю текущие соединения (db.serverStatus () ["connections"]) после запуска задач, у меня между 50-80 "текущими" соединениями, которые остаются открытыми до тех пор, пока я не выключу celeryd.Кто-нибудь сталкивался с этой проблемой и / или вы знаете, что я могу сделать, чтобы решить ее?

Спасибо, Кензик

1 Ответ

3 голосов
/ 08 июля 2011

Это просто означает, что к серверу MongoDB открыто от 50 до 80 подключений, и это не повод для беспокойства. PyMongo (и, следовательно, MongoEngine) поддерживает внутренний пул соединений (то есть сокетов) до mongod, поэтому даже когда ничего не происходит (без активных запросов, команд и т. Д.), Соединения остаются открытыми для базы данных в следующий раз они будут использованы. По умолчанию PyMongo пытается сохранить не более 10 открытых подключений на Connection объект.

Есть ли у вас какие-либо конкретные проблемы из-за количества открытых соединений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...