MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

PyMongo повдига [errno 49] не може да присвои заявения адрес след голям брой заявки

Това е така, защото използвате PyMongo неправилно. Вие създавате нов MongoClient за всяка заявка, което изисква да отворите нов сокет за всяка нова заявка. Това побеждава обединяването на връзките на PyMongo и освен че е изключително бавно, това също означава, че отваряте и затваряте сокети по-бързо, отколкото вашият TCP стек може да поддържа:оставяте твърде много сокети в състояние TIME_WAIT, така че в крайна сметка да останете без портове.

За щастие поправката е проста. Създайте един MongoClient и го използвайте навсякъде:

conn = pymongo.MongoClient('mongodb://localhost:27017')
coll = conn.databases['race_results']

def _perform_queries(query):
    return coll.find(query).sort("date", -1)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Вмъкване на поле с размер на масива в mongo

  2. MongoDB група и сума с идентификатор като ключ

  3. Използване на динамична стойност при агрегиране

  4. Защо Spring ReactiveMongoRepository няма метод за запазване за Mono?

  5. Изпълнението на заявки в MongoDB с гръцки символи с помощта на Javascript не връща резултати