Phần sau đây sử dụng một phiên bản bộ bản sao làm ví dụ để mô tả cách truy vấn trạng thái kết nối và đặt số lượng kết nối trong nhóm kết nối
Truy vấn số lượng kết nối
Số lượng kết nối tối đa khác nhau tùy theo thông số kỹ thuật của phiên bản
Số lượng kết nối tối đa đề cập đến số lượng kết nối tối đa của mỗi nút trong một phiên bản
Thí dụ. Nếu một phiên bản bộ bản sao có hai vCPU và bộ nhớ 4 GB cho mỗi nút, thì số lượng kết nối tối đa của nút chính và nút phụ tương ứng là 1000. Nút ẩn không cung cấp dịch vụ do các đặc điểm kiến trúc của nó
Sử dụng Mongo Shell để kết nối với nút chính và chạy db. máy chủStatus[]. lệnh kết nối để truy vấn số lượng kết nối trên nút
replica:PRIMARY> db.serverStatus[].connections { "current" : 7, "available" : 398, "totalCreated" : 818364 }
Chú ý đến các tham số sau và giá trị của chúng
- hiện hành. kết nối hiện có
- có sẵn. Số lượng kết nối có sẵn
Truy vấn nguồn kết nối
- Sử dụng Mongo Shell để kết nối với nút chính và chuyển sang cơ sở dữ liệu quản trị.
replica:PRIMARY> use admin
- Chạy db. runCommand[{currentOp. 1, $tất cả. true}] để truy vấn nguồn kết nối
Bằng cách phân tích đầu ra lệnh, bạn có thể truy vấn địa chỉ IP nguồn của từng kết nối. Bằng cách này, số lượng kết nối giữa mỗi máy khách và phiên bản DDS DB sẽ thu được
Hình 1 Đầu ra lệnh
Giới hạn số lượng kết nối
DDS cho phép bạn đăng nhập vào cơ sở dữ liệu bằng URI chuỗi kết nối. Khi đăng nhập vào cơ sở dữ liệu bằng URI chuỗi kết nối, bạn có thể thêm &maxPoolSize=vào cuối URI để đặt số lượng kết nối trong nhóm kết nối
Thí dụ. Khi Mongo Shell được sử dụng để kết nối các phiên bản bộ bản sao, hãy chạy lệnh sau để đặt số lượng kết nối trong nhóm kết nối thành 10
mongo "mongodb. //rwuser. xxxxxxxxxxxx@192. 168. 168. 116. 8635,192. 168. 200. 147. 8635/test?authSource=admin&replicaSet=replica&maxPoolSize=10"
Hình 2 Giới hạn số lượng kết nối
Để biết chi tiết về cách giới hạn số lượng nhóm kết nối trên máy khách bằng các ngôn ngữ khác nhau, hãy xem tài liệu API của máy khách bằng các ngôn ngữ khác nhau trên trang web chính thức của MongoDB
Bạn có thể kiểm tra số lượng kết nối hiện tại tới MongoDB với sự trợ giúp của cú pháp sau –
var anyVariableName= db.serverStatus[]; yourVariableName.connections;
Cú pháp thứ hai như sau -
db.serverStatus[].connections;
Để hiểu cả hai cú pháp trên, chúng ta hãy xem từng cái một -
Trường hợp 1 - Truy vấn đầu tiên như sau -
> var checkCurrentNumberOfConnections = db.serverStatus[] > checkCurrentNumberOfConnections.connections;
Sau đây là đầu ra -
{ "current" : 1, "available" : 999999, "totalCreated" : 1 }
Trường hợp 2 - Truy vấn thứ hai như sau -
> db.serverStatus[].connections
Sau đây là đầu ra -
{ "current" : 1, "available" : 999999, "totalCreated" : 1 }
Cập nhật ngày 30-Jul-2019 22. 30. 25
Khi Mongo Daemon được khởi động, nó sẽ bắt đầu lắng nghe các kết nối máy khách trên một cổng. Bất kỳ máy khách nào cũng có thể kết nối với Cơ sở dữ liệu MongoDB nếu chúng được kết nối trong mạng và có quyền truy cập vào cơ sở dữ liệu
Trong hướng dẫn này, chúng ta sẽ học cách tìm số lượng Kết nối MongoDB được thực hiện với Máy chủ MongoDB bằng phương pháp db.serverStatus[]
db. serverStatus[] cung cấp nhiều thông tin về MongoDB Server. Chúng tôi có thể nhận thông tin rõ ràng về số lượng kết nối được thực hiện với máy chủ bằng cách chạy lệnh db.serverStatus[].connections
từ bất kỳ MongoDB Shell nào được kết nối với Máy chủ
Sau đây là ảnh chụp nhanh lệnh chạy từ MongoDB Shell
Từ hình trên, bạn có thể quan sát thấy có ba kết nối “hiện tại” đến Máy chủ MongoDB. Các kết nối này có thể hoạt động hoặc không hoạt động. Ngoài ra, số lượng vị trí “có sẵn” cho các kết nối mới là 999997. Vì vậy, tổng cộng, Máy chủ MongoDB có thể hỗ trợ một triệu kết nối
Bây giờ chúng ta sẽ bắt đầu Mongo Shell kết nối với Máy chủ MongoDB và quan sát các giá trị
Với MongoDB Shell mới này tạo kết nối với Máy chủ MongoDB, số lượng kết nối đã tăng lên một và số lượng kết nối mở khả dụng giảm đi 1