MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

SocketTimeout với kết nối đã mở trong MongoDB

Sau vài lần thử, tôi phát hiện ra rằng đó là sự cố với Trình cân bằng tải của Azure.
Sau 60 giây không hoạt động, nó sẽ ngắt kết nối bất kỳ kết nối TCP nào đang chờ xử lý.

Sau khi đào sâu hơn, tôi đã tìm thấy bài đăng này trong Câu hỏi thường gặp về chẩn đoán MongoDB và tôi đã đặt tcp keepalive thành 120s:

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

và tôi cũng đã đặt socketKeepAlive của MongoClient thành true:

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

Sau những bản sửa lỗi này, sự cố dường như đã biến mất!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Triển khai Bộ bản sao MongoDB trên khắp các khu vực trên AWS

  2. Làm cách nào để kiểm tra đơn vị một phương thức kết nối với mongo mà không thực sự kết nối với mongo?

  3. Triển khai API GraphQL với MongoDB Atlas và Máy chủ Apollo trên Koyeb

  4. Làm thế nào để giải quyết vấn đề liên quan đến mongoDB một cách hiệu quả?

  5. MongoDB {tổng hợp $ match} so với {find} tốc độ