MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

SocketTimeout dengan koneksi terbuka di MongoDB

Setelah beberapa kali mencoba, saya menemukan bahwa itu adalah masalah dengan Penyeimbang Beban Azure.
Setelah 60-an tidak aktif, koneksi TCP yang tertunda akan diputuskan.

Setelah menggali lebih lanjut, saya menemukan posting FAQ diagnostik MongoDB ini, dan saya telah mengatur tcp keepalive ke 120s:

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

dan saya juga telah menyetel socketKeepAlive dari MongoClient menjadi true:

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

Setelah perbaikan ini, masalahnya tampaknya hilang!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kesalahan kunci duplikat MongoDB E11000

  2. MongoError:Opsi 'kursor' diperlukan, kecuali untuk agregat dengan argumen penjelasan

  3. Mengapa kinerja Mongodb lebih baik di Linux daripada di Windows?

  4. Tidak dapat terhubung ke mongoDB yang berjalan di wadah buruh pelabuhan

  5. Bagaimana cara menambah bidang di mongodb?