Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
Trên trang này
- Nhóm kết nối là gì?
- Tạo và sử dụng nhóm kết nối
- Kết nối cụm mảnh ghép gộp
- Cài đặt cấu hình nhóm kết nối
Tài liệu này mô tả cách sử dụng nhóm kết nối để quản lý kết nối giữa các ứng dụng và các phiên bản MongoDB.
Nhóm kết nối là bộ đệm của các kết nối cơ sở dữ liệu mở, sẵn sàng sử dụng được duy trì bởi trình điều khiển. Ứng dụng của bạn có thể kết nối một cách liền mạch từ nhóm, thực hiện các hoạt động và quay lại kết nối trở lại nhóm. Nhóm kết nối an toàn.connection pool is a cache of open, ready-to-use database connections maintained by the driver. Your application can seamlessly get connections from the pool, perform operations, and return connections back to the pool. Connection pools are thread-safe.
Nhóm kết nối giúp giảm độ trễ ứng dụng và số lần kết nối mới được tạo.
Một nhóm kết nối tạo ra các kết nối khi khởi động. Các ứng dụng không cần phải quay số kết nối theo cách thủ công vào nhóm. Thay vào đó, các kết nối tự động quay trở lại nhóm.
Một số kết nối đang hoạt động và một số không hoạt động nhưng có sẵn. Nếu ứng dụng của bạn yêu cầu kết nối và có một kết nối có sẵn trong nhóm, một kết nối mới không cần phải được tạo.
Hầu hết các trình điều khiển cung cấp một đối tượng loại MongoClient
.drivers provide an object of type MongoClient
.
Sử dụng một ví dụ MongoClient
cho mỗi ứng dụng trừ khi ứng dụng kết nối với nhiều cụm riêng biệt. Mỗi ví dụ MongoClient
quản lý nhóm kết nối của riêng mình với cụm mongoDB hoặc nút được chỉ định khi MongoClient
được tạo. MongoClient
Đối tượng là an toàn cho chủ đề trong hầu hết các trình điều khiển.
Ghi chú
Lưu trữ phiên bản MongoClient
của bạn ở một nơi có thể truy cập toàn cầu bởi ứng dụng của bạn.
Để sử dụng nhóm kết nối với LDAP, hãy xem hành vi nhóm kết nối LDAP.
mongos
Bộ định tuyến có các nhóm kết nối cho mỗi nút trong cụm. Sự sẵn có của các kết nối với các nút riêng lẻ trong một cụm bị che khuất ảnh hưởng đến độ trễ. Hoạt động phải chờ một kết nối được thiết lập.
Để định cấu hình nhóm kết nối, hãy đặt các tùy chọn:
thông qua URI MongoDB,
theo chương trình khi xây dựng trường hợp
MongoClient
hoặcTrong các tệp cấu hình của khung ứng dụng của bạn.
Stack Overflow cho các đội đang chuyển sang miền riêng của nó! Khi việc di chuyển hoàn tất, bạn sẽ truy cập các nhóm của mình tại StackoverFlowTeams.com và họ sẽ không còn xuất hiện ở thanh bên trái trên stackoverflow.com.stackoverflowteams.com, and they will no longer appear in the left sidebar on stackoverflow.com.
Kiểm tra email của bạn để cập nhật.
Tôi có một ứng dụng chạy trên nút và sử dụng thư viện MongoDB để thiết lập kết nối và đóng nó. Nhưng vấn đề là, từ lệnh Mongo ServerStatus [] tôi có thể thấy rằng vẫn còn các kết nối hiện tại 2K+.
> db.serverStatus[].connections
{ "current" : 2993, "available" : 835867, "totalCreated" : 220841 }
và hầu hết trong số đó đang có trạng thái
MONGO_URI=mongodb://user::27017/dbname?keepAlive=true&poolSize=30&autoReconnect=true&socketTimeoutMS=360000&connectTimeoutMS=360000
1.Câu hỏi của tôi là, có cách nào để tôi buộc đóng các kết nối nhàn rỗi này mà sau một thời gian sẽ ảnh hưởng đến ứng dụng của tôi với lỗi hết thời gian chờ.
Tôi đã thử sử dụng lệnh
MONGO_URI=mongodb://user::27017/dbname?keepAlive=true&poolSize=30&autoReconnect=true&socketTimeoutMS=360000&connectTimeoutMS=360000
2 nhưng chúng chỉ hoạt động nếu vẫn còn giá trị opid được liệt kê trong các kết nối nhàn rỗi này.Đánh giá cao một số phản hồi về làm thế nào có thể xử lý loại tình huống này.
ORA PDBA
unread,
Ngày 30 tháng 9 năm 2016, 5:06:19 PM9/30/169/30/16
đến MongoDB-user
MongoDB Cài đặt thời gian chờ kết nối nhàn rỗi ở cấp độ DB?
Lungang Fang
unread,
Ngày 11 tháng 10 năm 2016, 3:31:03 PM10/11/1610/11/16
đến MongoDB-user
MongoDB Cài đặt thời gian chờ kết nối nhàn rỗi ở cấp độ DB?
Lungang Fang
Ngày 11 tháng 10 năm 2016, 3:31:03 PM10/11/16
Regards,Lungang
Lungang
Như tại phiên bản 3.2, MongoDB không hỗ trợ thời gian chờ kết nối nhàn rỗi ở cấp độ DB. Bạn có thể tìm thấy tất cả các tùy chọn có sẵn trong các tùy chọn tệp cấu hình.
ORA PDBA
unread,
Ngày 30 tháng 9 năm 2016, 5:06:19 PM9/30/1610/19/16
đến MongoDB-user
Không giống như MySQL, MongoDB dễ dàng xử lý để tổ chức dữ liệu không có cấu trúc lớn trong các ứng dụng như & NBSP; eBay, MetLife, Facebook, Shutterfly, v.v.
Nhưng trong khi kết nối, người dùng ứng dụng có thể gặp phải lỗi như thời gian chờ kết nối MongoDB.
Lỗi này xảy ra do cài đặt máy chủ MongoDB sai, BAD & NBSP; Các tham số kết nối và nhiều hơn nữa.
Đó là lý do tại sao, tại Bobcares, chúng tôi thường nhận được các yêu cầu từ khách hàng của mình để giải quyết lỗi thời gian chờ kết nối MongoDB như một phần của Dịch vụ Quản lý Máy chủ của chúng tôi.
Hôm nay, chúng tôi sẽ thấy cách các kỹ sư hỗ trợ của chúng tôi khắc phục lỗi thời gian chờ kết nối & các vấn đề liên quan của nó.
Thời gian chờ kết nối MongoDB là gì?
Thời gian chờ kết nối xác định lượng thời gian phản hồi tối đa chờ đợi kết nối được thiết lập bởi máy chủ.
Giá trị này được sử dụng khi tạo kết nối ban đầu với cơ sở dữ liệu MongoDB.
Giá trị thời gian chờ kết nối mặc định dao động từ 1 giây đến 30 giây.
Ví dụ: nếu bạn có thời gian chờ kết nối được đặt thành 30 giây, các ứng dụng của bạn sẽ không bao giờ chờ hơn 30 giây cho kết quả.
Top 2 nguyên nhân và sửa chữa phổ biến hàng đầu
Hãy cùng xem xét kỹ hơn về nguyên nhân & cách các kỹ sư hỗ trợ của chúng tôi đã sửa nó.
1. Cài đặt xấu của máy khách MongoDB
Gần đây, một trong những khách hàng của chúng tôi đã tiếp cận chúng tôi với một vấn đề liên quan đến kết nối MongoDB. Khi anh ta cố gắng kết nối MongoDB bằng máy khách MongoDB, nó đã dẫn đến một hộp thông báo lỗi máy chủ cho thấy lỗi thời gian chờ kết nối.
Điều này thường xảy ra do cài đặt trong máy khách MongoDB. Khi máy khách mất quá nhiều thời gian để kết nối với máy chủ MongoDB so với giá trị thời gian chờ đặt trước, nó có thể dẫn đến lỗi.
Và sửa chữa liên quan đến việc tăng giới hạn thời gian chờ đối với máy khách MongoDB. Đối với điều này, trước tiên chúng tôi kiểm tra với khách hàng trên các cài đặt mà họ sử dụng trên khách hàng của họ. Sau đó, chúng tôi so sánh các giá trị được đặt trong máy chủ MongoDB. Tùy thuộc vào các giá trị, chúng tôi đề xuất điều chỉnh các biến.
Ví dụ, trong trường hợp của khách hàng này, đó là thời gian chờ gây ra vấn đề. Do đó, chúng tôi đặt thời gian nhàn rỗi kết nối tối đa thành giá trị cao hơn và điều này đã giải quyết vấn đề. Bây giờ, người dùng có thể kết nối với MongoDB bằng máy khách MongoDB.
2. Thông số kết nối sai
Thường thì lỗi này xảy ra khi có cài đặt không chính xác trong tham số kết nối. Trong những trường hợp như vậy, chúng tôi sửa đổi các cài đặt bằng cách điều hướng đến cơ sở dữ liệu trong MongoDB.
Ví dụ: chúng tôi điều chỉnh các cài đặt trong trường cơ sở dữ liệu như thế này.
MONGO_URI=mongodb://user::27017/dbname?keepAlive=true&poolSize=30&autoReconnect=true&socketTimeoutMS=360000&connectTimeoutMS=360000
3. Tường lửa khối IP
Tương tự, khách hàng DigitalOcean đã báo cáo chúng tôi rằng sau khi tạo MongoDB, anh ấy không thể kết nối với cơ sở dữ liệu bằng Node.js. Nó dẫn đến một lỗi như
message: 'failed to connect to server [droplet_ip:27017] on first connect [MongoError: connection 0 to droplet_ip:27017 timed out]'
Lỗi này là phổ biến nhất với MongoDB và xảy ra khi kết nối bị Tường lửa bỏ rơi.
Vì vậy, để giải quyết vấn đề, các kỹ sư hỗ trợ của chúng tôi đã mở cài đặt tường lửa ở phía máy chủ và cho phép IP tương ứng cho phép kết nối.
[Gặp rắc rối với thời gian chờ kết nối trong MongoDB? Chúng tôi sẽ sửa nó cho bạn.]
Sự kết luận
Chính xác hơn, MongoDB được sử dụng rộng rãi trên các ứng dụng web khác nhau. Nhưng, các lỗi như thời gian chờ kết nối MongoDB xảy ra do các cài đặt sai trong máy chủ MongoDB, các tham số kết nối xấu và nhiều hơn nữa. Hôm nay, chúng tôi đã thấy cách các kỹ sư hỗ trợ của chúng tôi đã sửa 3 lỗi phổ biến hàng đầu.
Ngăn chặn máy chủ của bạn bị sập!
Đừng bao giờ mất khách hàng với tốc độ máy chủ kém! Hãy để chúng tôi giúp bạn.
Các chuyên gia máy chủ của chúng tôi sẽ giám sát và duy trì máy chủ của bạn 24/7 để nó vẫn nhanh như chớp và an toàn.
BẮT ĐẦU
var google_conversion_label = "owoncmyg5neq0ad71qm";