जब डेटाबेस प्रदर्शन की बात आती है तो कई प्रभावशाली कारक होते हैं। अपने SQL सर्वर की निगरानी करके अपने विशेष उदाहरण के सामान्य उतार-चढ़ाव को जानने से आपको यह पहचानने में मदद मिलती है कि व्यवहार कब नियंत्रण से बाहर हो रहा है और समस्याओं के होने से पहले उनका अनुमान लगाने में मदद करता है।
यह आपको इस बात में अंतर करने में भी मदद करता है कि बढ़े हुए कार्यभार या मौसमी स्पाइक्स के कारण होने वाले प्राकृतिक बढ़ते दर्द क्या हैं, जिनके लिए कोड ट्यूनिंग, इंडेक्स ऑप्टिमाइज़ेशन या कॉन्फ़िगरेशन ट्यूनिंग की आवश्यकता वाले गहन प्रदर्शन के मुद्दों की तुलना में अधिक संसाधनों की आवश्यकता हो सकती है।
एक बार जब आप अपने परिवेश में SQL सर्वरों की सूची स्थापित कर लेते हैं, तो आप कुछ महत्वपूर्ण प्रश्न पूछना चाहेंगे:
- यह उदाहरण कितना स्वस्थ है?
- पिछली बार इसका बैकअप कब लिया गया था?
- क्या इसके SLA को पूरा करने के लिए पर्याप्त CPU, मेमोरी और स्टोरेज है?
- इस उदाहरण पर किस प्रकार का कार्यभार चलता है?
- इस उदाहरण का उपयोग कौन से एप्लिकेशन और उपयोगकर्ता करते हैं?
- कार्यभार कब सबसे व्यस्त होता है?
- क्या कोई विफलता रणनीति मौजूद है?
- क्या यह एक मिशन-महत्वपूर्ण उदाहरण है?
- क्या इसे 24/7 उपलब्ध रहने की आवश्यकता है?
- इस उदाहरण में किस प्रकार की प्रदर्शन चुनौतियां हैं?
ये स्पष्ट प्रश्न प्रतीत हो सकते हैं, लेकिन यदि आप पहली बार अपने SQL सर्वर वर्कलोड की निगरानी करना शुरू करते हैं, तो आप आश्चर्यचकित होंगे और संभवत:यह देखकर थोड़ा भयभीत होंगे कि उनमें से कितने में मूलभूत समस्याएं हैं।
SQL सर्वर मॉनिटरिंग के लिए प्रदर्शन लक्ष्य निर्धारित करें
इस बारे में सोचें कि आप अपने SQL सर्वर निगरानी प्रयासों से क्या हासिल करना चाहते हैं और इन लक्ष्यों को प्राथमिकता दें। प्रमुख प्रदर्शन संकेतकों के संदर्भ में अपनी गतिविधियों को तैयार करके, आप ऊर्जा के मूल्य और आवश्यक किसी भी निवेश को स्पष्ट करना आसान बनाते हैं। निम्नलिखित सूची आपको शुरू कर देगी।
उच्च उपलब्धता
आपके उपलब्धता आँकड़े क्या हैं? याद रखें कि उपयोगकर्ता के लिए अनुपलब्धता तब होती है जब वे सेवा तक नहीं पहुँच सकते। यह एक पूर्ण आउटेज या एक प्रदर्शन बाधा के कारण हो सकता है जो प्रभावी रूप से सेवा को अनुपलब्ध बनाता है। क्या आपके पास हमेशा चालू कॉन्फ़िगरेशन है? यदि हां, तो क्या आप इसकी स्थिति जानते हैं?
प्रतिक्रिया समय
जिस बिंदु पर किसी समस्या की सूचना दी जाती है, आप कितनी जल्दी स्रोत को अलग कर सकते हैं, लक्षणों का निदान कर सकते हैं और प्रभावित लोगों को प्रतिक्रिया दे सकते हैं?
संकल्प समय
सामान्य ऑपरेशन को बहाल करने के लिए आप कितनी जल्दी लक्षण को हल कर सकते हैं? "चिपचिपा प्लास्टर" समाधान एक महत्वपूर्ण शुरुआत है, लेकिन मामले के अंत का प्रतिनिधित्व नहीं करना चाहिए। क्या आपने इस मुद्दे के मूल कारण का पता लगाया है? क्या आप आश्वस्त हो सकते हैं कि आप दोबारा घटना नहीं देखेंगे?
अपने SQL सर्वर इंस्टेंस के स्वामित्व की लागत को समझना
आपके SQL सर्वर इंस्टेंस को कहाँ रहना चाहिए, यह तय करते समय स्वामित्व की लागत एक महत्वपूर्ण कारक है। बुनियादी ढांचे और लाइसेंसिंग, चल रहे रखरखाव लागतों और क्लाउड-आधारित कार्यभार से जुड़ी किसी भी खपत-आधारित लागत से जुड़ी अग्रिम निवेश लागतों का आकलन करना महत्वपूर्ण है।
यदि आप यह तय करने की कोशिश कर रहे हैं कि क्लाउड में आपके इंस्टेंस की लागत कितनी होगी, तो महत्वपूर्ण मेट्रिक्स में सीपीयू उपयोग, पढ़ने और लिखने की गतिविधि और भंडारण शामिल हैं। आपको अपने कार्यभार की सीमाओं का पता लगाने के लिए इन्हें एक विस्तारित अवधि में मापने की आवश्यकता होगी ताकि यह सुनिश्चित हो सके कि आप किसी विशेष उदाहरण के लिए अपेक्षित कार्यभार के स्पेक्ट्रम के लिए संसाधन हैं।
अपने SQL सर्वर इंस्टेंस पर चल रहे वर्कलोड की विशेष विशेषताओं से परिचित होना आपको यह सुनिश्चित करने के लिए एक बेहतर स्थान पर रखेगा कि सब कुछ उसी तरह चलता रहे जैसा उसे होना चाहिए और आपके व्यवसाय की वर्तमान और भविष्य की जरूरतों को पूरा करने के लिए।
SQL सर्वर मॉनिटरिंग के साथ समय के साथ प्रदर्शन का अध्ययन करें
डेटाबेस द्रव प्रणाली हैं। बहुत कम लोगों के पास स्थिर, दोहराव और पूर्वानुमेय कार्यभार होता है। समय के साथ व्यापक बदलाव देखने को मिलते हैं जो उपयोगकर्ताओं की संख्या, स्वचालित नौकरियों, लेनदेन की संख्या, डेटा की मात्रा, और इसी तरह के आधार पर उतार-चढ़ाव करते हैं।
महीने के अंत में एक बिक्री डेटाबेस व्यस्त हो जाएगा। यह मौसमी घटनाओं के आसपास या मार्केटिंग प्रचारों द्वारा संचालित गतिविधि में भी वृद्धि देखेगा।
अपने प्रदर्शन को छोटे स्नैपशॉट के आधार पर वर्गीकृत करना एक अच्छी नीति नहीं है। जितना अधिक इतिहास आप एकत्र और विश्लेषण कर सकते हैं, उतनी ही अधिक जानकारी आप अपने प्रत्येक कार्यभार की विशेषताओं की विविधताओं और सीमाओं के बारे में प्राप्त कर सकते हैं।
आपको यह तय करने की आवश्यकता होगी कि कितना इतिहास रखना व्यावहारिक है और क्या आपके पास इसे संसाधित करने के लिए संसाधन हैं। विचार करने के लिए लागत और प्रदर्शन निहितार्थ हैं।
अपने डेटाबेस की निगरानी के लिए संपूर्ण चित्र प्राप्त करें
प्रत्येक डेटाबेस एक जटिल प्रणाली है जिसमें कई गतिमान भाग होते हैं। कई कॉन्फ़िगरेशन मानदंड इसके प्रदर्शन पर प्रभाव डाल सकते हैं।
डेटाबेस का डिज़ाइन और आर्किटेक्चर ही परिणामों को प्रभावित करेगा। कोड दक्षता प्रदर्शन को बना या बिगाड़ भी सकती है। कॉन्फ़िगरेशन विकल्प यह निर्धारित करेंगे कि SQL सर्वर इंस्टेंस उसके लिए उपलब्ध संसाधनों का उपभोग कैसे करता है।
निम्नलिखित परिदृश्य पर विचार करें:एक उदाहरण धीमा हो रहा है और DBA ने CXPACKET या CXCONSUMER प्रतीक्षा में एक स्पाइक देखा है। घुटने के बल चलने वाली प्रतिक्रिया समानांतरवाद को बंद करना है। प्रतीक्षा गायब हो जाती है और वर्तमान अड़चन अस्थायी रूप से दूर हो जाती है। अब पूरा उदाहरण धीमी गति से चल रहा है, लेकिन डीबीए समांतरता को फिर से सक्षम नहीं करना चाहता। अगर कुछ और जांच की गई होती, तो यह पता चलता कि एक क्वेरी विशेष रूप से धीमी गति से चल रही थी और इसका कारण एक लापता इंडेक्स था।
समानांतर में कई अलग-अलग मेट्रिक्स की निगरानी करने से मूल कारण की सही पहचान करने में मदद मिलती है और महंगी गलत निदान से बचने में मदद मिलती है जो एक ही समस्या के दोहराव या वृद्धि का कारण बन सकती है।