sql >> Databasteknik >  >> NoSQL >> MongoDB

SocketTimeout med öppnad anslutning i MongoDB

Efter några försök har jag fått reda på att det var ett problem med Azures belastningsbalanserare.
Efter 60-tals inaktivitet kommer den att koppla från eventuell väntande TCP-anslutning.

Efter ytterligare grävande har jag hittat detta inlägg av MongoDB diagnostik FAQ, och jag har ställt in tcp keepalive till 120s:

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

och jag har även ställt in socketKeepAlive på MongoClient till sant:

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

Efter dessa korrigeringar verkar problemet vara borta!



  1. Hur raderar man atomiskt miljontals nycklar som matchar ett mönster med ren Redis?

  2. Distribuera ScaleGrid DBaaS för Redis™ i AWS Virtual Private Cloud (VPC)

  3. Gå:Skapa io.Writer-gränssnitt för att logga till mongodb-databasen

  4. hur man ringer räkningsoperation efter hitta med mongodb java-drivrutin