पर कनेक्शन की वर्तमान संख्या की जांच करें किसी विशेष MongoDB सर्वर से जुड़े क्लाइंट की संख्या प्राप्त करने के लिए आदेश क्या है?MongoDb
MongoDb
उत्तर
व्यवस्थापक डेटाबेस से कनेक्ट और db.serverStatus()
चलाएँ:
> var status = db.serverStatus()
> status.connections
{"current" : 21, "available" : 15979}
>
आप सीधे प्राप्त कर सकते हैं
db.serverStatus().connections
क्वेरी करने को समझने के लिए क्या MongoDB के db.serverStatus().connections
प्रतिक्रिया मतलब है द्वारा, प्रलेखन here पढ़ें।
कनेक्शन
"connections" : { "current" : <num>, "available" : <num>, "totalCreated" : NumberLong(<num>) },
कनेक्शन एक दस्तावेज है कि कनेक्शन की स्थिति पर रिपोर्ट। सर्वर के वर्तमान लोड और क्षमता आवश्यकताओं का आकलन करने के लिए इन मानों का उपयोग करें।
कनेक्शन.current क्लाइंट से डेटाबेस सर्वर तक आने वाले कनेक्शन की संख्या। इस नंबर में वर्तमान शैल सत्र शामिल है। कनेक्शन के मूल्य पर विचार करें। इस डेटाम में अधिक संदर्भ जोड़ने के लिए उपलब्ध है।
मूल्य में सभी आने वाले कनेक्शन शामिल होंगे जिसमें किसी भी शेल कनेक्शन या अन्य सर्वरों से कनेक्शन शामिल हैं, जैसे प्रतिकृति सेट सदस्य या मोंगो उदाहरण।
connections.available अप्रयुक्त भेजे कनेक्शन की संख्या उपलब्ध। डेटाबेस पर कनेक्शन लोड को समझने के लिए कनेक्शन.current के मूल्य के साथ संयोजन में इस मान पर विचार करें, और उपलब्ध कनेक्शन पर सिस्टम थ्रेसहोल्ड के बारे में अधिक जानकारी के लिए UNIX ulimit सेटिंग्स दस्तावेज़।
कनेक्शन.totalCreated सर्वर पर बनाए गए सभी आने वाले कनेक्शनों की गणना। इस नंबर में कनेक्शन शामिल हैं जो बंद होने के बाद से हैं।
db.serverStatus()
कनेक्शन opend और लाभ का कोई देता है, लेकिन नहीं है जो ग्राहक से कनेक्शन को दर्शाता है। अधिक जानकारी के लिए आप इस कमांड sudo lsof | grep mongod | grep TCP
का उपयोग कर सकते हैं। मुझे इसकी आवश्यकता है जब मैंने प्रतिकृति की और प्राथमिक नोड में द्वितीयक से अधिक ग्राहक कनेक्शन अधिक हैं।
$ 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)
यह दिखाता है कि मैं वर्तमान में पांच कनेक्शन अपने कंप्यूटर पर MongoDB बंदरगाह (27017) के लिए खुला है। मेरे मामले में मैं एक स्कालैट्रा सर्वर से मोंगोडीबी से कनेक्ट कर रहा हूं, और मैं मोंगोडीबी कैस्बाह ड्राइवर का उपयोग कर रहा हूं, लेकिन क्लाइंट के इस्तेमाल के बावजूद आप उसी एलसीपी कनेक्शन को देखेंगे (जब तक वे टीसीपी/आईपी)।
मैंने निम्नलिखित आदेशों से मोंगो डेटाबेस के लिए सभी कनेक्शन देखने की कोशिश की।
netstat -anp --tcp --udp | grep mongo
यह आदेश अधिक विस्तार से मोंगोडब के लिए प्रत्येक टीसीपी कनेक्शन दिखा सकता है।
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
ओएस एक्स में भी कनेक्शन सीधे नेटवर्क इंटरफेस पर देखते हैं, सिर्फ कार्य करें:
$ 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)
कोई ज़रूरत नहीं
grep
उपयोग करने के लिए आदि, बसlsof
के तर्कों का उपयोग ।मोंगो डीबी के सीएलआई पर कनेक्शन देखने के लिए, @ मिलन का जवाब देखें (जिसे मैंने अभी संपादित किया है)।
db.runCommand ({ "connPoolStats": 1})
----> { "numClientConnections": 0, "numAScopedConnections": 0, "totalInUse": 0 , "totalAvailable": 0, "totalCreated": 0, "मेजबान": {
},
"replicaSets" : {
},
"ok" : 1
}
मोंगो-शैल का उपयोग करके मोंगो डीबी से कनेक्ट करें और निम्न आदेश चलाएं।
db.serverStatus().connections
उदाहरण के लिए:
mongo> db.serverStatus().connections
{ "current" : 3, "available" : 816, "totalCreated" : NumberLong(1270) }
- 1. MongoDB: कैसे MongoDB
- 2. MongoDB
- 3. MongoDB $
- 4. MongoDB
- 5. MongoDB
- 6. mongodb
- 7. MongoDB
- 8. MongoDB
- 9. MongoDB
- 10. MongoDB
- 11. MongoDB
- 12. MongoDB
- 13. mongodb
- 14. MongoDB
- 15. mongodb
- 16. mongoDB
- 17. mongodb
- 18. MongoDB
- 19. MongoDb
- 20. MongoDB
- 21. MongoDB
- 22. mongodb
- 23. MongoDB
- 24. mongodb
- 25. MongoDB
- 26. mongodb
- 27. mongodb
- 28. mongodb
- 29. MongoDB
- 30. mongodb
यह आदेश एक भी कनेक्शन के लिए कई प्रविष्टियाँ रिटर्न: http://stackoverflow.com/a/42930337/1843751 – ignite
मैं lsof के लिए मैं ध्वज का उपयोग कर सुझाव देते हैं। फिर आपको केवल प्रत्येक कनेक्शन में 1 प्रविष्टि मिलती है और टीसीपी के लिए grep की आवश्यकता नहीं होती है। यानी 'सुडो lsof -i | grep mongod' – datdo