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

SocketTimeout с отворена връзка в MongoDB

След няколко опита разбрах, че това е проблем с Load Balancer на Azure.
След 60-те години на неактивност той ще прекъсне всяка чакаща TCP връзка.

След по-нататъшно копаене намерих тази публикация от често задаваните въпроси за диагностика на MongoDB и настроих tcp keepalive на 120s:

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

и също така настроих socketKeepAlive на MongoClient на true:

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

След тези корекции проблемът изглежда изчезна!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Създайте реактивна публикация с допълнителни полета във всеки документ

  2. Как да върнете оригиналния документ обратно след агрегиране

  3. Управление на журналирането в MongoDB

  4. MongoDB „не може да намери индекс за $geoNear заявка“

  5. Вземете конкретна част от документа