Lệnh để nhận số lượng máy khách kết nối với một máy chủ MongoDB cụ thể là gì?Kiểm tra số lượng kết nối hiện tại đến MongoDb
Trả lời
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.
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).
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
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ủalsof
.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).
db.runCommand ({ "connPoolStats": 1})
----> { "numClientConnections": 0, "numAScopedConnections": 0, "totalInUse": 0 , "totalAvailable": 0, "totalCreated": 0, "hosts": {
},
"replicaSets" : {
},
"ok" : 1
}
01.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) }
- 1. MongoDB: kiểm tra kết nối với DB
- 2. Tăng số lượng kết nối tối đa MongoDB
- 3. Làm cách nào để kiểm tra số lượng kết nối mở trong node.js?
- 4. Kiểm tra kết nối WCF
- 5. Android: Kiểm tra kết nối đến máy chủ
- 6. Tomcat Số lượng bài hiện tại
- 7. Cách kiểm tra dung lượng trống khả dụng trong mongodb
- 8. c3p0 Kiểm tra kết nối
- 9. Node.js MongoDB đóng kết nối
- 10. Cách kiểm tra xem kết nối MongoDB có còn sống trong Node.js
- 11. Kết nối MongoDB tiếp tục tăng
- 12. Kiểm tra kết nối php/mysqli
- 13. Java Kiểm tra nhanh kết nối mạng
- 14. Kiểm tra kết nối internet chậm iOS
- 15. Kiểm tra kết nối internet trên android
- 16. Kiểm tra - Chuỗi kết nối bị thiếu
- 17. Internet kết nối kiểm tra trong Android
- 18. Hiểu chuỗi kết nối MongoDb
- 19. Kiểm tra kết nối FTP bằng Python
- 20. Kết nối tổng hợp mongodb
- 21. OpenSSL định cấu hình số lượng kết nối tối đa
- 22. VS2012 Thực hiện kết quả kiểm tra xuất hiện trong cửa sổ Kết quả kiểm tra
- 23. mongodb và kết nối tối đa
- 24. Cách tìm số lượng kết nối SQL Server đồng thời
- 25. Kiểm tra số lượng thư Gmail chưa đọc bằng Python
- 26. Làm cách nào để kiểm tra kết nối svn?
- 27. Kiểm tra số lượng phần tử trong `Counter`
- 28. Kết nối và kiểm tra kết nối SQL Đăng nhập/Đăng xuất
- 29. MongoDB: Tăng kết nối tối đa trong MongoDB
- 30. Cách kiểm tra kết nối internet trong Java
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
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