उच्च प्रदर्शन करने वाले SQL सर्वर इंस्टेंस को बनाए रखना DBA की नौकरी की जिम्मेदारियों का एक बड़ा हिस्सा है। असामान्य गतिविधि का पता लगाने और उसे ठीक करने में विफलता आंतरिक संचालन को प्रभावित कर सकती है और साथ ही व्यवसाय की निचली रेखा को चोट पहुंचा सकती है।
यदि आप SQL सर्वर इंस्टेंस में चरम गतिविधि परिवर्तन या विसंगतियाँ देखते हैं, तो उत्तर के लिए अपनी खोज शुरू करने के लिए यहां तीन स्थान हैं।
पेज लाइफ एक्सपेक्टेंसी
एक इंस्टेंस की पेज लाइफ एक्सपेक्टेंसी (पीएलई) को काफी सुसंगत मूल्य सीमा बनाए रखनी चाहिए। यदि वह मूल्य गिरता है और कम रहता है, तो यह एक संकेत है कि बफर पूल में बढ़ी हुई मांग का अनुभव हो रहा है।
इससे पहले कि आप मेमोरी खत्म करें और मेमोरी बढ़ाएं, वर्कलोड गतिविधि पर एक नज़र डालें। यदि कार्यभार बढ़ गया है, तो यह बफर पूल पर अतिरिक्त दबाव का कारण होगा। लेकिन अगर कार्यभार नहीं बदला है, तो आपको यह पहचानने के लिए और अधिक बारीकी से देखने की आवश्यकता होगी कि अतिरिक्त मेमोरी का उपयोग क्या कर रहा है।
PLE में गिरावट के संभावित कारणों में सक्रिय रूप से चल रहे रखरखाव कार्य, अनुक्रमणिका पुनर्निर्माण या सांख्यिकीय अद्यतन, DBCC संचालन और क्वेरी योजना में परिवर्तन शामिल हैं।
यदि आप पीएलई में एक गिरावट देखते हैं जो कार्यभार में वृद्धि से संबद्ध नहीं है, तो कुछ चीजें हैं जो आप एक उदाहरण के पीएलई को बेहतर बनाने का प्रयास कर सकते हैं:
- अप्रयुक्त अनुक्रमणिका छोड़ें
- डुप्लिकेट अनुक्रमणिका मर्ज करें
- बड़े प्रश्नों के लिए देखें
- डीफ़्रैग
- डेटा शुद्ध करें
WRITELOG प्रतीक्षा समय
जब WRITELOG प्रतीक्षा समय कुल प्रतीक्षा समय के अनुपात में बहुत बड़ा होता है, तो संभवतः आपके SQL सर्वर इंस्टेंस पर एक अड़चन होती है। अड़चन या तो डिस्क पर किसी समस्या के कारण हो सकती है जहां लेन-देन लॉग संग्रहीत है या डेटा अक्षम रूप से प्रतिबद्ध है।
यह निर्धारित करने के लिए कि आप किस प्रकार की बाधा से निपट रहे हैं, WRITELOG ईवेंट की प्रतीक्षा कर रहे SQL कथनों की संख्या का विश्लेषण करके प्रारंभ करें। यदि बहुत सारे कथन प्रतीक्षा कर रहे हैं, तो आपके पास एक डिस्क अड़चन है। यदि केवल कुछ कथन प्रतीक्षा कर रहे हैं, तो संभवतः डेटा बहुत बार प्रतिबद्ध किया जा रहा है।
उच्च WRITELOG प्रतीक्षा समय को हल करने के कई तरीके हैं जब आप यह पता लगा लेते हैं कि आपकी अड़चन डिस्क से संबंधित है या प्रतिबद्ध-संबंधित है:
- डिस्क में I/O बैंडविड्थ जोड़ें जहां लेनदेन लॉग संग्रहीत है
- गैर-लेनदेन लॉग I/O को डिस्क से हटा दें
- लेन-देन लॉग को कम व्यस्त डिस्क पर ले जाएं
- लेन-देन लॉग का आकार कम करें
- सुनिश्चित करें कि COMMIT कथन कोड में रखा गया है ताकि डेटा बहुत बार प्रतिबद्ध न हो
TempDB
TempDB SQL सर्वर में एक अस्थायी कार्यक्षेत्र है जिसमें अस्थायी ऑब्जेक्ट होते हैं। क्योंकि TempDB में रखे गए ऑब्जेक्ट क्षणिक हैं, एक SQL सर्वर इंस्टेंस TempDB को हर बार पुनरारंभ होने पर पुन:बनाता है। यह प्रदर्शन को बनाए रखने और परिचालन बाधाओं से बचने के लिए TempDB के अनुकूलन को महत्वपूर्ण बनाता है।
TempDB विवाद प्रदर्शन में गिरावट के मुख्य दोषियों में से एक है। विवाद तब होता है जब कई संसाधनों को TempDB तक पहुंच की आवश्यकता होती है लेकिन केवल एक TempDB डेटा फ़ाइल होती है। यह एक अड़चन का कारण बनता है क्योंकि प्रक्रियाएं TempDB तक तेजी से नहीं पहुंच पाती हैं, जिससे कनेक्शन का समय समाप्त हो जाता है और प्रक्रियाओं को हटा दिया जाता है।
सौभाग्य से, TempDB फ़ाइलों की संख्या और आकार को समायोजित करके TempDB बाधाओं को काफी आसानी से हल किया जा सकता है। स्थापना के बाद, SQL सर्वर डिफ़ॉल्ट एक TempDB डेटा फ़ाइल है। यदि आप देखते हैं कि विवाद हो रहा है, तो यह अनुशंसा की जाती है कि आप आठ नई डेटा फ़ाइलें जोड़ें और निर्धारित करें कि क्या इससे समस्या ठीक हो जाती है। यदि समस्या का समाधान नहीं होता है, तो प्रदर्शन बहाल होने तक अतिरिक्त डेटा फ़ाइलों को चार के गुणकों में जोड़ने का प्रयास करें।
हालांकि यह जानना बहुत अच्छा है कि जब आप प्रदर्शन समस्याओं का अनुभव करते हैं तो कहां देखना शुरू करें, ऊपर दिए गए प्रत्येक मुद्दे और परिणामी बाधाओं को एक कठिन और तेज़ नियम लागू करके कम किया जा सकता है या पूरी तरह से बचा जा सकता है:प्रदर्शन मेट्रिक्स की निगरानी वैकल्पिक नहीं है। ट्रैक करने के लिए प्रमुख मीट्रिक के कुछ उदाहरण यहां दिए गए हैं:
पृष्ठ जीवन प्रत्याशा:निरंतर निगरानी के साथ PLE को ट्रैक करें और जब यह किसी विशेष SQL सर्वर आवृत्ति के लिए विशिष्ट मान से नीचे गिरता है और रहता है तो सक्रिय रहें।
WRITELOG प्रतीक्षा समय:मॉनिटर मेट्रिक्स जैसे लॉग ग्रोथ, लॉग सिकुड़न, प्रतिशत लॉग का उपयोग, और लॉग फ्लश प्रतीक्षा/सेकंड।
TempDB अक्षमता:मॉनिटर करें कि उपयोगकर्ता ऑब्जेक्ट्स, वर्जन स्टोर, या आंतरिक ऑब्जेक्ट्स को क्या आवंटित किया जा रहा है। ट्रैक करें कि वे समय के साथ कैसे चलन में हैं, फिर निर्धारित करें कि कौन से सत्र TempDB का उपभोग कर रहे हैं और कितना।
बाजार में कुछ उत्कृष्ट सुविधा संपन्न, किफायती SQL सर्वर प्रदर्शन निगरानी उपकरण हैं जो आपको प्रदर्शन-अपमानजनक मुद्दों के सामने बने रहने में मदद कर सकते हैं। उन समाधानों पर सक्रिय रूप से शोध करके स्वयं को कंपनी का डीबीए एमवीपी बनाएं, जो आवक-सामना करने वाले संचालन और बाहरी-उन्मुख व्यावसायिक सेवाओं दोनों को चरम प्रदर्शन पर चालू रखते हैं।