ब्रेंट ओजर तेजी से आगे बढ़ने के बारे में सब कुछ जानता है - वह कारों की दौड़ लगाता है और वह प्रतिदिन लुभावने डेटाबेस प्रदर्शन परिणामों के साथ SQL सर्वर को संशोधित करता है। क्वेस्ट की डेटाबेस ट्रेनिंग डेज़ सीरीज़, के लिए अपने वेबकास्ट "एसक्यूएल सर्वर को कैसे मापें" में ब्रेंट ने हमें याद दिलाया कि प्रदर्शन केवल माप के बारे में है।
प्रदर्शन के लिए सुधार
ब्रेंट ने सामाजिक दूरी का अभ्यास करने का अवसर लिया और एक पूर्ण रेसिंग सूट और हेलमेट पहनकर भाग तैयार किया। कुछ पूर्व-वेबकास्ट भोज में, हमें पता चला कि उसे हेलमेट में एक माइक्रोफोन तार करना था और ईयरबड्स को अपने कानों में टेप करना था! लेकिन हम पछताते हैं। वेबकास्ट पूरी तरह से प्रदर्शन के बारे में था, और कार की कई समानताएं थीं।
SQL सर्वर के प्रदर्शन को बेहतर बनाने के लिए परिसर हैं:
- सुधार पर ध्यान केंद्रित करने के लिए मीट्रिक चुनें
- सीमित परिवर्तन करने से पहले और बाद में प्रदर्शन को मापें (मूल वैज्ञानिक पद्धति)
- जब आप जो हासिल करने की कोशिश कर रहे हैं उसके लिए आपके पास गलत उपकरण होने पर समझें
डेटाबेस प्रदर्शन ट्यूनिंग मीट्रिक
Ford F150 ट्रकों, Ford Fiestas और कुछ अन्य दिलचस्प वाहनों की एक लंबी चर्चा से पता चलता है कि 0 से 60 मील प्रति घंटे तक जाने में लगने वाले समय को बेहतर बनाने के कई तरीके हैं। आप वाहन का वजन कम कर सकते हैं, एक बड़ा इंजन जोड़ सकते हैं या गैर-जरूरी चीजों को अलग करना शुरू कर सकते हैं - जैसे विंडशील्ड। प्रदर्शन और उपयोगिता के बीच एक समझौता होने जा रहा है। डेटाबेस ऐसे ही होते हैं - वे अक्सर लोड हो जाते हैं। यह तब होता है जब कस्टम प्रदर्शन ट्यूनिंग की आवश्यकता होती है, जिसके लिए मीट्रिक को जानने और सुधारने की आवश्यकता होती है।
ब्रेंट का तर्क है कि प्रदर्शन ट्यूनिंग कारों और डेटाबेस के लिए आपको तीन प्राथमिक मीट्रिक की आवश्यकता होती है:वजन, गति बेंचमार्क (जैसे 0 से 60), और इंजन (सर्वर) कितनी मेहनत कर रहा है।
डेटाबेस का आकार मापना
SQL सर्वर के लिए वजन कुल डेटाबेस आकार और आपके पास कितना डेटा है। यह आमतौर पर गीगाबाइट्स या टेराबाइट्स में मापा जाता है। लगभग 1-150 जीबी से, SQL सर्वर मानक संस्करण पर्याप्त होना चाहिए। एंटरप्राइज़ संस्करण के लिए 150-500 जीबी से एक आसान भार है। 500 जीबी से अधिक, यह मायने रखता है कि क्या यह सक्रिय डेटा है और इसे कैसे एक्सेस किया जाता है। और, 1 टीबी से अधिक का ओएलटीपी डेटा बहुत चुनौतीपूर्ण हो सकता है।
प्रदर्शन गति को ट्रैक करना
कारों में स्पीड बेंचमार्क आसान है - एमपीएच। डेटाबेस के लिए, यह प्रति सेकंड बैच अनुरोध करता है, लेकिन इसे अलग-अलग समय अवधि के दौरान प्रति घंटा ट्रेंड करने की आवश्यकता होती है। जाहिर है, जितने अधिक प्रश्न होंगे, हार्डवेयर के आधार पर प्रदर्शन उतना ही धीमा होगा।
क्वेरी वर्कलोड का आकलन करना
अंत में, यह समझने के लिए कि डेटाबेस कितनी मेहनत कर रहा है, आपको यह समझने की आवश्यकता है कि वर्तमान में कौन से प्रश्न चल रहे हैं और कतार में क्या प्रतीक्षा कर रहा है। यह आपको प्रतीक्षा समय अनुपात देगा - मूल रूप से कार्य कितने समय के लिए दूसरे के पूरा होने की प्रतीक्षा कर रहे हैं। आपका प्रतीक्षा समय अनुपात प्रति घंटे प्रतीक्षा समय के घंटे (या प्रति सेकंड प्रतीक्षा समय के सेकंड) के रूप में व्यक्त किया जाएगा - माप की अपनी इकाइयों को न मिलाएं। जब आपके पास समय के साथ इन आँकड़ों पर एक अच्छा नियंत्रण होता है, तो आप देख सकते हैं कि प्रतीक्षा समय को क्या प्रभावित करता है, उदाहरण के लिए, यदि अधिक या कम बैच अनुरोध हैं, बेहतर या बदतर ट्यून किए गए प्रश्न आदि। तब, आप उन मुद्दों से निपट सकते हैं।पी>
ब्रेंट की सभी ऋषि सलाह और हास्य के लिए ऑन-डिमांड वेबिनार रिकॉर्डिंग देखें।