2012-01-23 48 views

Trả lời

73

kết nối với cơ sở dữ liệu quản trị và chạy db.serverStatus():

> var status = db.serverStatus() 
> status.connections 
    {"current" : 21, "available" : 15979} 
> 

Bạn có thể trực tiếp được bằng cách truy vấn

db.serverStatus().connections 

Để hiểu những gì db.serverStatus().connections phản ứng MongoDB của nghĩa, đọc tài liệu here.

kết nối

"connections" : { 
    "current" : <num>, 
    "available" : <num>, 
    "totalCreated" : NumberLong(<num>) 
}, 

kết nối Một tài liệu mà báo cáo về tình hình các kết nối. Sử dụng các giá trị này để đánh giá tải trọng hiện tại và yêu cầu dung lượng của máy chủ.

kết nối.current Số lượng kết nối đến từ máy khách đến máy chủ cơ sở dữ liệu. Con số này bao gồm phiên trình bao hiện tại. Hãy xem xét giá trị của các kết nối. Có sẵn để thêm nhiều ngữ cảnh hơn vào mốc này.

Giá trị sẽ bao gồm tất cả các kết nối đến bao gồm bất kỳ kết nối vỏ hoặc kết nối nào từ các máy chủ khác, chẳng hạn như các thành viên bộ bản sao hoặc trường hợp mongos.

kết nối.available Số lượng kết nối không sử dụng có sẵn. Hãy xem xét giá trị này kết hợp với giá trị của các kết nối.current để hiểu tải kết nối trên cơ sở dữ liệu và tài liệu Thiết đặt ulimit UNIX để biết thêm thông tin về các ngưỡng hệ thống trên các kết nối có sẵn.

kết nối.totalCreated Đếm tất cả các kết nối đến được tạo tới máy chủ. Số này bao gồm các kết nối đã đóng.

11

db.serverStatus() không có kết nối nào được mở và tận dụng nhưng không hiển thị kết nối từ khách hàng nào. Để biết thêm thông tin, bạn có thể sử dụng lệnh này sudo lsof | grep mongod | grep TCP. Tôi cần nó khi tôi đã sao chép và nút chính có nhiều kết nối khách hàng lớn hơn trung học.

$ sudo lsof | grep mongod | grep TCP 
mongod 5733    Al 6u  IPv4 0x08761278  0t0  TCP *:28017 (LISTEN) 
mongod 5733    Al 7u  IPv4 0x07c7eb98  0t0  TCP *:27017 (LISTEN) 
mongod 5733    Al 9u  IPv4 0x08761688  0t0  TCP 192.168.1.103:27017->192.168.1.103:64752 (ESTABLISHED) 
mongod 5733    Al 12u  IPv4 0x08761a98  0t0  TCP 192.168.1.103:27017->192.168.1.103:64754 (ESTABLISHED) 
mongod 5733    Al 13u  IPv4 0x095fa748  0t0  TCP 192.168.1.103:27017->192.168.1.103:64770 (ESTABLISHED) 
mongod 5733    Al 14u  IPv4 0x095f86c8  0t0  TCP 192.168.1.103:27017->192.168.1.103:64775 (ESTABLISHED) 
mongod 5733    Al 17u  IPv4 0x08764748  0t0  TCP 192.168.1.103:27017->192.168.1.103:64777 (ESTABLISHED) 

Điều này cho thấy tôi hiện có năm kết nối mở tới cổng MongoDB (27017) trên máy tính của tôi. Trong trường hợp của tôi, tôi đang kết nối với MongoDB từ một máy chủ Scalatra, và tôi đang sử dụng trình điều khiển MongoDB Casbah, nhưng bạn sẽ thấy các kết nối TCP tương tự bất kể client được sử dụng (miễn là chúng kết nối bằng TCP/IP).

+1

Lệnh này trả về nhiều mục cho một kết nối duy nhất: http://stackoverflow.com/a/42930337/1843751 – ignite

+2

tôi đề nghị sử dụng lá cờ -i cho lsof. Sau đó, bạn chỉ nhận được 1 mục nhập mỗi kết nối và không cần phải grep cho TCP. tức là 'sudo lsof -i | grep mongod' – datdo

5

Tôi đã cố gắng xem tất cả các kết nối cho cơ sở dữ liệu mongo bằng cách làm theo lệnh.

netstat -anp --tcp --udp | grep mongo 

Lệnh này có thể hiển thị mọi kết nối tcp cho mongodb cụ thể hơn.

tcp  0  0 10.26.2.185:27017   10.26.2.1:2715    ESTABLISHED 1442/./mongod  
tcp  0  0 10.26.2.185:27017   10.26.2.1:1702    ESTABLISHED 1442/./mongod 
tcp  0  0 10.26.2.185:27017   10.26.2.185:39506   ESTABLISHED 1442/./mongod  
tcp  0  0 10.26.2.185:27017   10.26.2.185:40021   ESTABLISHED 1442/./mongod  
tcp  0  0 10.26.2.185:27017   10.26.2.185:39509   ESTABLISHED 1442/./mongod 
tcp  0  0 10.26.2.185:27017   10.26.2.184:46062   ESTABLISHED 1442/./mongod  
tcp  0  0 10.26.2.185:27017   10.26.2.184:46073   ESTABLISHED 1442/./mongod  
tcp  0  0 10.26.2.185:27017   10.26.2.184:46074   ESTABLISHED 1442/./mongod 
3

Trong OS X, quá xem các kết nối trực tiếp trên giao diện mạng, chỉ cần làm:

$ lsof -n -i4TCP:27017 

mongod  2191 inanc 7u IPv4 0xab6d9f844e21142f 0t0 TCP 127.0.0.1:27017 (LISTEN) 
mongod  2191 inanc 33u IPv4 0xab6d9f84604cd757 0t0 TCP 127.0.0.1:27017->127.0.0.1:56078 (ESTABLISHED) 
stores.te 18704 inanc 6u IPv4 0xab6d9f84604d404f 0t0 TCP 127.0.0.1:56078->127.0.0.1:27017 (ESTABLISHED) 
  • Không cần phải sử dụng grep vv, chỉ cần sử dụng những lập luận của lsof .

  • Xem các kết nối trên CLI của MongoDb, xem câu trả lời của @ milan (mà tôi vừa chỉnh sửa).

0

db.runCommand ({ "connPoolStats": 1})

----> { "numClientConnections": 0, "numAScopedConnections": 0, "totalInUse": 0 , "totalAvailable": 0, "totalCreated": 0, "hosts": {

}, 
    "replicaSets" : { 

    }, 
    "ok" : 1 

}

01.
0

Kết nối với MongoDB bằng cách sử dụng mongo-shell và chạy lệnh sau.

db.serverStatus().connections 

ví dụ:

mongo> db.serverStatus().connections 
{ "current" : 3, "available" : 816, "totalCreated" : NumberLong(1270) } 
Các vấn đề liên quan