WSRM के साथ अधिकतम CPU उपयोग SQL सर्वर को सीमित करें


10

मेरे पास SQL ​​Server का एक इंस्टेंस चल रहा है।

मैंने देखा कि अक्सर यह सर्वर 100% CPU उपयोग पर चल रहा है।

मेरी आईटी टीम इस बारे में खुश नहीं है, और सुझाव दिया कि हम ओएस के लिए 32 कोर में से 2 आरक्षित करते हैं।

यह महान काम करता है, अब अधिकतम उपयोग शिखर सिर्फ 90% से कम है। इसके अतिरिक्त, विभिन्न उपयोगकर्ताओं से धीमा डेटा पुनर्प्राप्ति अब रिपोर्ट नहीं किया गया है।

क्या इस तरह से SQL संसाधन गवर्नर के बजाय WSRM (विंडोज सिस्टम रिसोर्स मैनेजर) का उपयोग करने का कोई कारण नहीं है?


क्या आप वास्तव में सभी सीपीयू का उपयोग करना चाहते हैं? ओएस के लिए कोर के एक जोड़े को बचाने के लिए समझदारी समझ में नहीं आता है? अपने वर्कस्टेशन पर, अगर मैं कुछ नंबर के लिए सभी कोर का उपयोग करता हूं, तो मेरी मशीन एक पड़ाव को पीस देती है। मैं हमेशा कुछ कोर मुक्त रखता हूं। क्या यह SQL Server को समर्पित मशीन पर भी अच्छा अभ्यास नहीं होगा?
मैनमून

इस सर्वर पर किस तरह का लोड चल रहा है? 100% CPU किस प्रकार की प्रक्रिया का उपयोग कर रहा है? क्या यह ओएलटीपी या एनालिटिक्स या ग्राफ है या?
मैक्स वर्नोन

@ फॉरेस्ट जब आप ट्यूनिंग कहते हैं - क्या आप एसक्यूएल सर्वर का मतलब खुद - या प्रश्न / तालिका संरचना से करते हैं? यदि आपका मतलब SQL Server है, तो कृपया मुझे एक लिंक दें जो कि देखना है। यदि कतार / तालिकाओं, तो मैं उन्हें ऑप्टिमाइज़ कर सकता हूं जब मैं कर सकता हूं, लेकिन कुछ उपयोगकर्ता कम डिजाइन सचेत हैं!
मैनमून

जवाबों:


14

क्या आपके द्वारा परिभाषित दृष्टिकोण का उपयोग करने का कोई कारण नहीं है? पूर्ण रूप से।

कल्पना कीजिए कि आपने एक कार खरीदी थी - एक कार जिसे जब आपने 50MPH मारा तो इंजन गर्म होना शुरू हो जाता है। इस स्थिति के प्रति आपकी प्रतिक्रिया कार को कृत्रिम रूप से 49MPH तक सीमित करने की होगी, या यह पता लगाने के लिए कि इंजन में क्या खराबी है?

आपको अपनी कार को 49MPH तक सीमित क्यों करना चाहिए? निर्माता ने कहा कि यह 80MPH जितनी तेजी से ड्राइव कर सकता है - आप अपनी कार को तेजी से चलाना पसंद करते हैं, इसलिए आप इसे इस गति तक पहुंचाना चाहते हैं - अगर यह उस लानत समस्या के लिए नहीं था।

आपके द्वारा खरीदी गई कार भी वास्तव में, वास्तव में महंगी थी। प्रत्येक इंजन सिलेंडर को अधिकतम उपयोग करने की आवश्यकता है ताकि आप उस पैसे को बर्बाद न करें!

सीपीयू तक एसक्यूएल सर्वर को कृत्रिम रूप से सीमित करके, आप प्रदर्शन से गायब हैं। CPU को OS का उपयोग करने के लिए उपलब्ध है यह सुनिश्चित करके आपने अस्थायी रूप से प्रदर्शन के मुद्दों को हल किया हो सकता है, लेकिन आपने असली सवाल का जवाब नहीं दिया है - CPU का 100% उपयोग करते हुए SQL सर्वर क्यों है?

मेरी सलाह इस प्रकार है:

पता लगाएँ कि वास्तविक मुद्दा क्या है, और इसे ठीक करें। प्रभावी रूप से एक कीचड़ के साथ मुद्दे को कवर न करें। मुद्दा होगा फिर से प्रकट होना और लाइन नीचे चेहरे में आप एक प्रकार का जहाज़ जब सर्वर के काम का बोझ स्वाभाविक रूप से वृद्धि के साथ बढ़ जाती है।

एक के रूप में अस्थायी ठीक , संसाधन राज्यपाल, इस्तेमाल किया सीपीयू कम करने के लिए इस्तेमाल किया जा सकता जब तक आप असली समस्या का पता लगाने।


11

एरिक डार्लिंग ने आपके प्रश्न पर एक टिप्पणी में डब्ल्यूएसआरएम का उपयोग नहीं करने का सबसे बड़ा व्यावहारिक कारण बताया:

... अन्य प्रक्रियाओं में सीपीयू के उपयोग की कोई पारस्परिक सीमा नहीं है। SQL सर्वर उन दो कोरों का उपयोग नहीं कर सकता है, लेकिन अन्य चीजें अन्य 30 SQL सर्वर का उपयोग कर सकती हैं। यह वास्तव में एक लालसा है।

यदि यह आपके लिए काम कर रहा है, तो इसके साथ रहें - हम सभी व्यस्त हैं, और आप केवल किसी भी समस्या पर इतना समय बिता सकते हैं। आदर्श समाधान अंतर्निहित प्रश्नों के लिए / मुद्दों है कि उपयोगकर्ता के ध्यान देने योग्य समस्याओं (अपने में जो जॉर्ज कवर की बात करने के सीपीयू गाड़ी चला रहे हैं ठीक करने के लिए किया जाएगा उत्कृष्ट जवाब )।

एरिक के कहने पर जाता है

साथ ही, आप उनके लिए SQL सर्वर लाइसेंस का भुगतान कर रहे हैं।

व्यवसाय की दृष्टि से, यह शायद WSRM सौदे का सबसे खराब हिस्सा है - आप प्रति कोर 2 लाइसेंसों का भुगतान कर रहे हैं जो स्पष्ट रूप से उपयोग नहीं किए जा रहे हैं। इस लेखन के समय, यह $ 3k या $ 14k तालिका पर छोड़ दिया गया (मानक बनाम एंटरप्राइज़ पर निर्भर करता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.