MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

SocketTimeout z otwartym połączeniem w MongoDB

Po kilku próbach odkryłem, że był to problem z Load Balancerem Azure.
Po 60s bezczynności rozłączy wszystkie oczekujące połączenia TCP.

Po dalszych poszukiwaniach znalazłem ten post FAQ diagnostyki MongoDB i ustawiłem tcp keepalive na 120s:

sudo sysctl -w net.ipv4.tcp_keepalive_time=<value>

ustawiłem też socketKeepAlive w MongoClient na true:

MongoClientOptions.Builder options = MongoClientOptions.builder();
options.socketKeepAlive(true);
mongoClient = new MongoClient(mongoAddress, options.build());

Po tych naprawach problem wydaje się zniknąć!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czynniki do rozważenia przy wyborze MongoDB dla aplikacji Big Data

  2. Pierwszy hosting DBaaS MongoDB obsługujący platformę Azure dla sektora publicznego

  3. MongoDB mongorestore i istniejąca kolekcja z rekordami

  4. Łączenie operatorów $regex i $lub w Mongo

  5. Jak wyszukiwać różne wartości w Mongoose?