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

MongoDB में लंबे समय से चल रहे संचालन का प्रबंधन

MongoDB आपको सिस्टम में लंबे समय तक चलने वाले संचालन को प्रबंधित करने के लिए कई टूल देता है। किसी भी समय अपने उत्पादन सर्वर पर चल रहे संचालन पर नज़र रखना बेहद ज़रूरी है, क्योंकि कुछ मामलों में, आपके पास कुछ ऐसी ज़बरदस्त क्वेरी या इंडेक्स बिल्ड हो सकते हैं जो आपके सर्वर के प्रदर्शन को प्रभावित कर रहे हों।

MongoDB कमांड जो आपको यह जानकारी देता है वह है “db.currentOp ()”। अधिक जानकारी के लिए db.currentOp() के लिए MongoDB दस्तावेज़ देखें। कमांड आउटपुट को डीबी, ऑपरेशन, निष्पादन समय आदि द्वारा प्रतिबंधित करने के लिए पैरामीटर लेता है।

यहाँ एक उदाहरण आउटपुट है:

{
  opid: 294,
  active: false,
  op: "query",
  ns: "admin",
  query: { "query": {}, orderby: { "$natural": -1 } },
  client: "0.0.0.0:0",
  desc: "rsMgr",
  threadId: "0x7f3e6af3f700",
  waitingForLock: false,
  numYields: 0,
  lockStats: { timeLockedMicros: { R: 1, W: 1 },
  timeAcquiringMicros: { r: 1, w: 1 }
}

सबसे दिलचस्प क्षेत्र हैं:

  1. ओपिड - ऑपरेशन की आईडी।
  2. ऑप - वह ऑपरेशन जो निष्पादित हो रहा है।
  3. ns - डेटाबेस और संग्रह जिस पर ऑपरेशन निष्पादित किया जा रहा है।
  4. सेकंड_रनिंग - ऑपरेशन कितने सेकंड से चल रहा है।

एक बार जब आप लंबे समय से चल रहे संचालन की पहचान कर लेते हैं, तो आप कुछ मामलों में उन्हें समाप्त करना चाह सकते हैं। आप जिस ऑपरेशन का उपयोग करना चाहते हैं वह है:

db.killOp(<opid>)

यह बिना कहे चला जाता है कि आप इस कमांड का उपयोग बहुत सावधानी से करना चाहते हैं। उन कार्यों को समाप्त न करें जिनके बारे में आप नहीं जानते हैं। मैं व्यक्तिगत रूप से केवल लंबे समय से चल रहे प्रश्नों को समाप्त करने में सहज महसूस करता हूं।

यदि आपके पास ऐसे ऑपरेशन हैं जिनमें लगातार लंबा समय लग रहा है, तो MongoDB एक और विकल्प प्रदान करता है - maxTimeMS:

E.g. db.find(...).maxTimeMS(30)

यदि आप जानते हैं कि आपके पास लंबे समय से चलने वाले ऑपरेशन हैं जिन्हें आप एक निश्चित मात्रा में निष्पादन समय से अधिक होने के बाद रोकना चाहते हैं, तो इस सेशन के निष्पादन समय की सीमा निर्धारित करने के लिए maxTimeMS विकल्प का उपयोग करें।

स्केलग्रिड में, हम इस वर्कफ़्लो के महत्व को समझते हैं - इसलिए हमने इसे अपने व्यवस्थापक कंसोल में बनाया है। क्लस्टर विवरण पृष्ठ पर 'व्यवस्थापक' कंसोल आपके MongoDB सर्वर पर संचालन सूची तक पहुंच प्रदान करता है:

आप किसी विशेष ऑपरेशन का चयन भी कर सकते हैं और इसे समाप्त करना चुन सकते हैं। हमेशा की तरह इस विकल्प का विवेक के साथ प्रयोग करें:


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एकाधिक मानदंड द्वारा नेस्टेड ऐरे से ऑब्जेक्ट निकालें

  2. मोंगोडब एग्रीगेशन फ्रेमवर्क | एकाधिक मूल्यों पर समूह?

  3. मोंगोडीबी $cmp

  4. मोंगोडीबी:कई मानदंडों के साथ ऐरे में मूल्य पाएं

  5. मोंगोडीबी में इंडेक्स की दिशा क्यों मायने रखती है?