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 trường hợp 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. Các đối tượng MongoClient
là an toàn cho chủ đề trong hầu hết các trình điều khiển.
Ghi chú
Lưu trữ thể hiệ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.
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
Thời gian hoạt động phía ứng dụng chậm không được phản ánh trong nhật ký máy chủ cơ sở dữ liệu hoặc bảng thời gian thực. | Sử dụng Đặt Ví dụ: nếu một thành viên có độ trễ 10000 mili giây, hãy đặt |
Tường lửa cấu hình sai đóng kết nối ổ cắm không chính xác và trình điều khiển không thể phát hiện kết nối đó đóng không đúng. | Sử dụng Đặt |
Nhật ký máy chủ hoặc bảng thời gian thực cho thấy ứng dụng dành quá nhiều thời gian để tạo các kết nối mới. | Không đủ kết nối có sẵn khi khởi động. Phân bổ các kết nối trong nhóm bằng cách đặt Đặt minpoolsize thành số lượng kết nối bạn muốn có sẵn khi khởi động. Ví dụ |
Tải trên cơ sở dữ liệu thấp và có một số lượng nhỏ các kết nối hoạt động bất cứ lúc nào. Ứng dụng thực hiện ít hoạt động hơn bất cứ lúc nào so với dự kiến. | Tăng MaxPoolSize hoặc tăng số lượng luồng hoạt động trong ứng dụng của bạn hoặc khung bạn đang sử dụng. |
Việc sử dụng CPU cơ sở dữ liệu cao hơn dự kiến. Nhật ký máy chủ hoặc bảng thời gian thực hiển thị nhiều lần thử kết nối hơn dự kiến. | Giảm MaxPoolSize hoặc giảm số lượng luồng trong ứng dụng của bạn. Điều này có thể giảm tải và thời gian đáp ứng. |
Cảnh báo
Không sử dụng MongoClient
2 để ngăn chặn các hoạt động máy chủ dài. Thay vào đó, hãy sử dụng MongoClient
7 với các truy vấn để máy chủ có thể hủy các hoạt động chạy dài.
Tính cách sử dụng để tìm số lượng hoạt động chạy cho mỗi kết nối.
Xem xét bốn máy chủ ứng dụng kết nối với một bộ bản sao với ba thành viên. Trong kịch bản này, mỗi trong bốn máy chủ ứng dụng tạo ra một nhóm kết nối cho mỗi thành viên tập hợp bản sao.
Tính số lượng kết nối tối đa được mở bởi mỗi máy chủ ứng dụng bằng cách nhân MongoClient
8 với số lượng thành viên.
Tính toán các kết nối đi từ ứng dụng đến bộ bản sao ba thành viên:
100 [MongoClient
8 Mặc định MongoClient
0] x 3 [thành viên đặt bản sao] = 300 [kết nối đi từ ứng dụng]. [MongoClient
8 default MongoClient
0] x 3 [replica set members] =
300 [outgoing connections from the application].
Tính toán các kết nối đến từ bốn máy chủ ứng dụng sang bộ bản sao:
100 [MongoClient
8 Mặc định MongoClient
0] x 4 [Máy chủ ứng dụng] = 400 [kết nối đến với mỗi Mongod]. [MongoClient
8 default MongoClient
0] x 4 [application servers] = 400 [incoming connections to each mongod].