Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

MongoDB इंस्टेंसेस को कब स्केल करना है

MongoDB इंस्टेंसेस को कब स्केल करना है

पिछले ब्लॉग पोस्ट में, हमने MongoDB के साथ बड़े पैमाने पर स्केलिंग का परिचय दिया था। स्केलिंग प्रकृति में प्रतिक्रियाशील हो जाती है, जिससे खराब एप्लिकेशन प्रदर्शन या इससे भी बदतर, कुल एप्लिकेशन डाउनटाइम जैसी समस्याएं होती हैं। ये मुद्दे अंततः नकारात्मक ग्राहक अनुभव की ओर ले जाते हैं जो आपके व्यवसाय को प्रभावित करते हैं। तो आपको कैसे पता चलेगा कि आपके Mongo डेटाबेस को स्केल करने का सही समय है ताकि आप अपने बॉटम लाइन को प्रभावित न करें?

अपने ऐप्लिकेशन के लिए सही सीमा ढूंढें

यह सुनिश्चित करने के लिए कि आपका एप्लिकेशन एप्लिकेशन के उपयोग में वृद्धि के तूफान और ट्रैफ़िक में वृद्धि का सामना करता है, यह आवश्यक है लोड परीक्षण आपके द्वारा अपने उत्पादन प्रणाली में स्केलिंग जैसे परिवर्तन लागू करने से पहले आपके एप्लिकेशन द्वारा प्रबंधित की जा सकने वाली थ्रेशोल्ड को निर्धारित करने के लिए एक प्रणाली। ज़्यादातर ऐसा नहीं है, इस प्रक्रिया को नज़रअंदाज़ कर दिया जाता है और जब आप ट्रैफ़िक में वृद्धि के साथ समस्याओं का सामना करते हैं तो अग्नि अभ्यास का परिणाम होता है।

एक सफल MongoDB लोड परीक्षण की राह में निम्नलिखित विचार शामिल होने चाहिए:

  • किस मेट्रिक्स पर नजर रखने की जरूरत है ताकि आप बाधाओं का पता लगा सकें?
  • कब पैमाने के संदर्भ में किस सीमा का उपयोग किया जाना चाहिए?
  • मेट्रिक्स का विश्लेषण करने के लिए किन उपकरणों का उपयोग किया जाना चाहिए?
  • आपको लोड टेस्ट कहां चलाना चाहिए?

बाधाओं का पता लगाने के लिए मुझे किन मीट्रिक पर नज़र रखनी चाहिए?

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

यहां कुछ उदाहरण दिए गए हैं:

  • ट्रैफ़िक में वृद्धि होने पर आपके एप्लिकेशन को प्रति सेकंड X संख्या में इन्सर्ट की आवश्यकता होती है।
  • डेटा को उपयोगकर्ता को 100 मिलीसेकंड से कम समय में वापस करना होगा।
  • समवर्ती कनेक्शनों की संख्या की एक सीमा है।
  • सर्वर संसाधनों की एक सीमा होती है, जैसे उच्च CPU या लोड औसत।

एक बार जब आप एप्लिकेशन-साइड मेट्रिक्स निर्धारित करने में सक्षम हो जाते हैं, तो आप यह तय कर सकते हैं कि डेटाबेस साइड पर क्या मॉनिटर करना है।

उदाहरण के लिए, यदि आपकी आवश्यकताओं के लिए एक निश्चित संख्या में सम्मिलित करने के अनुरोध हैं, तो मेट्रिक्स लिखने पर ध्यान दें जैसे:

  • सर्वर I/O
  • डेटाबेस लॉक करना
  • प्रतिद्वंद्वी , सक्रिय लेखन के संदर्भ में
  • उपलब्ध राइट टिकट, यदि आप अपने स्टोरेज इंजन के रूप में WiredTiger चला रहे हैं

मेट्रिक्स का विश्लेषण करने के लिए उपयोग किए जाने वाले टूल

एक बार जब आप यह निर्धारित कर लेते हैं कि कौन से मेट्रिक्स की निगरानी करनी है, तो आपको डेटाबेस की ओर से डेटा एकत्र करना होगा। यहां कुछ उपयोगिताओं का उपयोग किया जा रहा है जिनका उपयोग आप लोड फैक्टर का विश्लेषण करने के लिए कर सकते हैं:

  • मोंगोस्टेट यूटिलिटी क्यू को लॉक करने, पढ़ने और लिखने पर रीयलटाइम डेटाबेस मेट्रिक्स दिखाती है।
  • db.currentOp() उपयोगिता वर्तमान सक्रिय संचालन को निर्धारित करती है।
  • मोंगोटॉप आपको शीर्ष सक्रिय संग्रह देखने की अनुमति देता है।
  • सर्वर उपयोगिताओं जैसे शीर्ष , सर , iostat CPU उपयोग या डिस्क थ्रूपुट जैसे मेट्रिक्स दिखाएं।

वास्तविक समय विश्लेषण के अलावा, आप डेटाबेस गतिविधि के साथ-साथ किसी भी त्रुटि की स्थिति के बारे में अतिरिक्त विवरण के लिए MongoDB लॉग को भी माइन कर सकते हैं। डिफ़ॉल्ट रूप से, MongoDB उन प्रश्नों को लॉग करता है जो निष्पादित होने में 100ms से अधिक समय लेते हैं, इसलिए यह खराब प्रदर्शन करने वाली क्वेरी की पहचान करने के लिए एक अच्छा उपकरण है।

निर्धारित करें कि लोड परीक्षण कहां चलाया जाए

एक बार जब आप यह निर्धारित कर लेते हैं कि आप डेटा एकत्र करने के लिए क्या उपयोग करेंगे, तो आप परीक्षण लोड करने के लिए तैयार हैं। सामान्य ज्ञान यह निर्देश देता है कि आपको कभी भी उत्पादन वातावरण में परीक्षण लोड नहीं करना चाहिए। कभी-कभी यह शो स्टॉपर बन जाता है क्योंकि किसी वातावरण को तेजी से स्पिन करना मुश्किल हो सकता है। यदि आप पहले से ही ObjectRocket प्लेटफॉर्म पर नहीं हैं, तो आप MongoDB परीक्षण क्लस्टर को बहुत तेज़ी से स्पिन कर सकते हैं।

कुछ सहायता चाहिए?

यह जानना कि आपके MongoDB वातावरण को कब स्केल करना है, जटिल हो सकता है। ऑब्जेक्टरॉकेट के ग्राहक हाथ से नीचे की ओर सर्वश्रेष्ठ स्केलिंग और शार्डिंग समर्थन का आनंद लेते हैं। हमारे डीबीए आपके समूहों को बढ़ाने के हर पहलू में मदद कर सकते हैं और हमारी मदद हमेशा शामिल होती है। आरंभ करने के लिए आज ही हमसे संपर्क करें।

अब जब आप यह निर्धारित करना शुरू कर सकते हैं कि अपने MongoDB इंस्टेंसेस को कब स्केल करना है, तो हमारे अगले ब्लॉग में हम आपको MongoDB इंस्टेंसेस को स्केल करने के तरीके के बारे में बताएंगे।


  1. MongoDB अंतरिक्ष उपयोग को समझना

    आप में से जो MongoDB का उपयोग करने के लिए नए हैं, उनके लिए MongoDB अंतरिक्ष उपयोग काफी भ्रमित करने वाला लग सकता है। इस लेख में, मैं समझाऊंगा कि MongoDB कैसे स्थान आवंटित करता है और हमारे ऑब्जेक्टरॉकेट डैशबोर्ड में अंतरिक्ष उपयोग की जानकारी की व्याख्या कैसे करें, इस बारे में निर्णय लेने के लिए कि आपक

  1. MongoDB में प्रायोगिक प्लग करने योग्य स्टोरेज इंजन

    पिछले महीने MongoDB वर्ल्ड में MongoDB के संस्थापक और CTO एलियट होरोविट्ज़ ने 2.8 रिलीज़ के लिए निर्धारित प्लगेबल स्टोरेज इंजन के लिए समर्थन की घोषणा की। यह रोमांचक सामान है क्योंकि इसका मतलब है कि मोंगो उपयोगकर्ता अब एक स्टोरेज इंजन चुनने में सक्षम होंगे जो उनके वर्कलोड के लिए सबसे उपयुक्त है और एप

  1. 5 उदाहरण जब निन्टेंडो ने साबित किया कि वे समय से आगे थे

    निन्टेंडो पोर्टेबल गेमिंग का राजा था, है और हमेशा रहेगा। शुरुआत से ही, जब गेम एंड वॉच को 1980 में लॉन्च किया गया था, निन्टेंडो का गेमिंग की दुनिया की ओर पहला कदम और इसकी नवीनतम रिलीज़, निन्टेंडो स्विच तक। 38 साल हो गए हैं और यह कितना उल्लेखनीय सफर रहा है !! हां, निन्टेंडो हमेशा समय और तकनीक से आगे