MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो बहुत सारे कनेक्शन खोलता है

आप प्रत्येक व्यक्तिगत ऑपरेशन के लिए मोंगो वर्ग का एक उदाहरण बना रहे हैं। यह काम नहीं करेगा क्योंकि प्रत्येक इंस्टेंस कम से कम एक कनेक्शन बनाएगा और रखेगा (लेकिन डिफ़ॉल्ट रूप से, 10) और उन कनेक्शनों को केवल तभी हटाया जाएगा जब जावा जीसी आपके मोंगो इंस्टेंस को साफ़ कर दे या जब आप बंद करें() का आह्वान करें।

समस्या यह है कि दोनों ही मामलों में आप उन्हें एक ही धागे का उपयोग करके बंद किए जाने की तुलना में तेजी से बना रहे हैं। यह जल्दी में अधिकतम मात्रा में कनेक्शन समाप्त कर देगा। सिंगलटन पैटर्न का उपयोग करके एक मोंगो इंस्टेंस को चारों ओर रखना सही फिक्स है (Mongo.Holder इसके लिए कार्यक्षमता प्रदान करता है, Mongo.Holder.connect(..) आज़माएं)। आपकी मशीन पर फ़ाइल डिस्क्रिप्टर की सीमा को बढ़ाने के लिए एक त्वरित "फिक्स" है, इसलिए कनेक्शन की अधिकतम मात्रा काफी अधिक है, लेकिन जाहिर है कि आप अंततः उसी सीमा तक पहुंच सकते हैं। आप (शेल में) का उपयोग करके अपने वर्तमान अधिकतम की जांच कर सकते हैं:

db.serverStatus().connections

टीएल; डीआर:एक मोंगो उदाहरण को सिंगलटन के रूप में मानें और उन्हें यथासंभव लंबे समय तक जीवित रखें और आप सुनहरे हैं। एक स्थिर विधि getInstance() के साथ एक MongoFactory को कार्यान्वित करना जो आलसी बनाया गया उदाहरण देता है, चाल ठीक हो जाएगी। शुभकामनाएँ।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. डेटाफ़्रेम के लिए BSONObject का RDD

  2. ClassNotFoundException को कैसे हल करें:com.mongodb.connection.BufferProvider?

  3. नए ClusterControl को अपने MongoDB परिनियोजन को सुरक्षित करने दें

  4. समय श्रृंखला डेटाबेस के रूप में MongoDB

  5. पिछले संस्करणों की तुलना में 2.6 MongoDB शेल में इन्सर्ट धीमा क्यों है?