Để kiểm tra số lượng kết nối (connections) hiện tại đến MongoDB server, bạn sử dụng lệnh db.serverStatus() và truy cập trường connections.
Cú pháp
Cách 1: Gán vào biến
var anyVariableName = db.serverStatus(); yourVariableName.connections;
Cách 2: Truy cập trực tiếp
db.serverStatus().connections;
Ví dụ minh họa
Cách 1: Dùng biến
> var checkCurrentNumberOfConnections = db.serverStatus() > checkCurrentNumberOfConnections.connections;
{
"current" : 1,
"available" : 999999,
"totalCreated" : 1
}
Cách 2: Truy cập trực tiếp
> db.serverStatus().connections
{
"current" : 1,
"available" : 999999,
"totalCreated" : 1
}
Giải thích các trường
| Trường | Ý nghĩa |
|---|---|
current | Số kết nối đang hoạt động hiện tại |
available | Số kết nối còn khả dụng (max - current) |
totalCreated | Tổng số kết nối đã được tạo từ khi server khởi động |
Thông tin bổ sung từ serverStatus
> db.serverStatus().connections
{
"current" : 1,
"available" : 999999,
"totalCreated" : 1
}
// Xem thêm thông tin khác
> db.serverStatus().mem
{
"bits" : 64,
"resident" : 45,
"virtual" : 1234,
"supported" : true,
"mapped" : 0,
"mappedWithJournal" : 0
}
Giám sát kết nối trong production
- current gần available = đang hết connection pool
- Tăng
maxIncomingConnectionstrong config nếu cần (mặc định 65536) - Sử dụng connection pooling ở application side
- Monitor
totalCreatedtăng nhanh = có thể connection leak
Lệnh hữu ích khác
// Xem chi tiết từng connection
db.currentOp({ "$all": true })
// Chỉ lấy connection đang active
db.currentOp({ "active": true })