SQL सर्वर पेज लाइफ एक्सपेक्टेंसी (PLE) मीट्रिक को लंबे समय से DBA के लिए उनके डेटाबेस इंस्टेंस के समग्र स्वास्थ्य को देखते हुए एक प्रमुख प्रदर्शन संकेतक माना जाता है। पीएलई दिखाता है कि बफर मैनेजर ऑब्जेक्ट द्वारा प्रदान किए गए काउंटरों का उपयोग करके सिस्टम आंतरिक मेमोरी दबाव में है या नहीं।
पेज लाइफ एक्सपेक्टेंसी पर करीब से नजर डालें
PLE एक डेटा फ़ाइल पृष्ठ के SQL सर्वर के बफर पूल में रहने की अवधि (सेकंड में) की एक माप है। यह मीट्रिक एक समुच्चय या संचय नहीं है, बल्कि केवल एक बिंदु-इन-टाइम मान है जिसे डीबीए बफर मैनेजर से पूछताछ करेगा।
SQL सर्वर केवल बफ़र पूल (अर्थात, तार्किक रीड) से डेटा पृष्ठ पढ़ता है, इसलिए यदि पृष्ठ बफ़र पूल में नहीं है, तो वह इसे डिस्क पर ढूंढता है (अर्थात, भौतिक रीड) और पृष्ठ को बफ़र पूल में ले जाता है ताकि यह एक तार्किक पठन कर सकता है। यह एक समय लेने वाली प्रक्रिया है और प्रदर्शन को नकारात्मक रूप से प्रभावित कर सकती है।
“अच्छा” PLE मान क्या है?
उच्च PLE मान का अर्थ है कि कोई पृष्ठ बफ़र पूल में अधिक समय तक रहता है, इसलिए SQL सर्वर के डेटा पृष्ठ की तलाश में डिस्क पर जाने की संभावना कम होती है, जिससे सिस्टम तेज़ी से चलता है।
ऐतिहासिक रूप से, DBA ने 300 सेकंड (पांच मिनट) को PLE स्वीट स्पॉट माना। हालाँकि, यह संख्या काफी मनमानी है। Microsoft ने 2000 के दशक में PLE मानक के रूप में 300 की सिफारिश की थी जब स्मृति सीमित थी।
आज, डीबीए "सही" संख्या पर ध्यान केंद्रित नहीं करता है क्योंकि अधिकांश सिस्टम पर मेमोरी की बाल्टी मानक आती है। SQL सर्वर के लिए ऐसे सिस्टम पर चलना असामान्य नहीं है जिसमें RAM के TB उपलब्ध हैं, इसलिए DBA ने "अच्छे" PLE मान की पहचान करने के लिए एक सूत्रीय दृष्टिकोण अपनाया है:
पृष्ठ जीवन प्रत्याशा =आपके सर्वर पर प्रत्येक 4 GB RAM के लिए 300 सेकंड
हालांकि, स्थिरता में बदलाव के लिए पीएलई मूल्यों की निरंतर निगरानी करना यकीनन अधिक महत्वपूर्ण है ताकि आप स्मृति समस्याओं की पहचान कर सकें और उन्हें जल्दी से हल कर सकें।
यदि आप बड़ी मात्रा में डेटा के साथ काम करते हैं, तो यह ध्यान रखना महत्वपूर्ण है कि बड़े सर्वरों में अक्सर कई PLE होते हैं। प्रत्येक गैर-यूनिफ़ॉर्म मेमोरी एक्सेस (NUMA) नोड को अपना PLE मान मिलता है, और फिर उन नंबरों की गणना सर्वर के PLE मान को प्राप्त करने के लिए की जाती है। उदाहरण के लिए, नोड x 1,000 का PLE मान लें (ऐसा सभी NUMA नोड्स के लिए करें)। सभी नोड्स के मान जोड़ें, फिर NUMA नोड्स की कुल संख्या से विभाजित करें, फिर 1,000 से फिर से विभाजित करें। यह आपको सर्वर PLE देगा।
यह कैसे निर्धारित करें कि पृष्ठ जीवन प्रत्याशा में कोई समस्या है या नहीं
पीएलई में उतार-चढ़ाव सामान्य है क्योंकि यह कार्यभार पर आधारित है। उच्च, औसत और निम्न रुझानों को ट्रैक करना आपको दिखा सकता है कि PLE को बेहतर बनाने के लिए टेबल स्कैन या बफर कैश फ्लशिंग जैसी कुछ प्रक्रियाओं को ट्यून करने की आवश्यकता है या नहीं।
यह निर्धारित करने का एक अच्छा तरीका है कि क्या कोई समस्या है, यदि सामान्य PLE मान सीमा गिरती है और कम रहती है। यह इंगित करता है कि बफर पूल पर मांग और दबाव बढ़ने की संभावना है।
क्या इसका मतलब यह है कि आपको समस्या पर कुछ और स्मृति फेंकने की ज़रूरत है? शायद। शायद नहीं।
निम्न SQL सर्वर पृष्ठ जीवन प्रत्याशा का समस्या निवारण
पीएलई मूल्यों के कम रुझान में होने के कई कारण हो सकते हैं। समस्या का निवारण करना महत्वपूर्ण है क्योंकि समाधान हर मूल कारण के लिए समान नहीं है। आपके पीएलई को धीमा करने की सबसे अधिक संभावना वाले तीन अपराधी यहां दिए गए हैं:
अपर्याप्त मेमोरी
अगर काम का बोझ लगातार बढ़ रहा है और पीएलई कम हो रहा है, तो आपकी याददाश्त कम होने की संभावना है। मेमोरी जोड़ने से PLE को बढ़ाने में मदद मिल सकती है, लेकिन यह क्वेरी को अधिक कुशलता से चलाने में मदद नहीं करेगा।
महंगे ऑपरेशन
यदि कार्यभार नहीं बदला है, लेकिन बफर पूल पर मांग में वृद्धि हुई है, तो हो सकता है कि आउटलेयर अधिक मेमोरी का उपयोग कर रहे हों। यह देखने के लिए जांचें कि क्या रखरखाव कार्य चल रहे हैं या अनुक्रमणिका का पुनर्निर्माण प्रगति पर है।
पुराने आंकड़े
पुराने आँकड़े क्वेरी योजना में परिवर्तन का कारण बन सकते हैं। यह महंगे ऑपरेशन चलाने के कारण बफर पूल पर मांग बढ़ाता है क्योंकि वे नए आँकड़ों के साथ समन्वयित नहीं होते हैं।
प्रश्नों को अनुकूलित करके निम्न पृष्ठ जीवन प्रत्याशा को कैसे ठीक करें
निम्न PLE मानों को ठीक करने का सबसे अच्छा तरीका स्रोत पर जाकर और अपने SQL सर्वर प्रश्नों को अनुकूलित करना है। यह एक अतिरिक्त बोनस के साथ आता है क्योंकि प्रश्नों को अनुकूलित करने से एक ही समय में आपके सिस्टम के समग्र प्रदर्शन में सुधार होगा।
ऐसी कई चीजें हैं जो आप करना चाहेंगे जो आपको PLE के अधिकतम सुधार के लिए प्रश्नों को अनुकूलित करने में मदद करेंगी:
- अप्रयुक्त अनुक्रमणिका छोड़ें
- डुप्लिकेट अनुक्रमणिका मर्ज करें
- बड़ी क्वेरी देखें
- जानें कि बफर पूल में क्या है
- डीफ़्रैग इंडेक्स
- आंकड़े अपडेट करें
- डेटा शुद्ध करें
समय के साथ पृष्ठ जीवन प्रत्याशा को ट्रैक करना
हालांकि पीएलई एक पॉइंट-इन-टाइम मीट्रिक है, लेकिन समय के साथ पीएलई को देखना मुद्दों को जल्दी पहचानने और प्रदर्शन को महत्वपूर्ण रूप से प्रभावित होने से पहले उन्हें जल्दी से ठीक करने का एक महत्वपूर्ण तरीका है।
समय के साथ पीएलई मीट्रिक की निगरानी करने और उन प्रश्नों की पहचान करने के कई तरीके हैं जिनके लेन-देन के कारण बड़ी मात्रा में पढ़ा जाता है। SQL सर्वर में DMV और विस्तारित ईवेंट आजमाए हुए और सही तरीके हैं और डेटा एकत्र करने की इस प्रक्रिया में महत्वपूर्ण भूमिका निभाते हैं। लेकिन वे मैनुअल और समय लेने वाली भी हैं, और जब समय के साथ मीट्रिक प्रदर्शन पर एक ऐतिहासिक परिप्रेक्ष्य प्राप्त करने की बात आती है तो वे सीमित लाभ प्रदान करते हैं।
स्पॉटलाइट क्लाउड जैसा एक वाणिज्यिक समाधान न केवल डीबीए को समय के साथ सीधे बॉक्स से बाहर पीएलई को ट्रैक करने की क्षमता प्रदान करता है, बल्कि यह पहचानने के लिए कार्यभार का भी विश्लेषण करता है कि कौन से प्रश्न और बाहरी गतिविधियां बफर पूल पर दबाव पैदा कर रही हैं ताकि आप अलग और उपचार कर सकें समस्या और अपने SQL सर्वर प्रदर्शन को अनुकूलित करें।
मूल रूप से अप्रैल 2019 को प्रकाशित और सितंबर 2020 को अपडेट किया गया।