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