SQL सर्वर और NUMA के लिए RAM कॉन्फ़िगर करें


10

यहां एक्सीडेंटल डीबी एडमिन।

सवाल:

क्या आप अभी भी SQL सर्वर के लिए मैन्युअल रूप से अधिकतम RAM सीमित कर सकते हैं, भले ही उस सर्वर का एकमात्र उद्देश्य SQL सर्वर डेटाबेस इंजन की सेवा करना है?

मेरे पास 32GB रैम के साथ Microsoft Windows 2012 R2 सर्वर, SQL Server 2012 Std है।

व्यवस्थापक अपने कंसोल और सभी का उपयोग करने के लिए SQL सर्वर पर लगातार लॉगिन करें।

दूसरी बात, आप यह कैसे जांच सकते हैं कि यह विंडोज सर्वर NUMA सक्षम है या नहीं?

जवाबों:


9

क्या आप अभी भी MSSQL के लिए अधिकतम रैम को मैन्युअल रूप से सीमित करेंगे, केवल उस सर्वर का एकमात्र उद्देश्य MSSQL की सेवा करना है?

यह विचार करने योग्य विषय है कि आपके पास यहां SQL Server 2012 है। यदि आपने SQL Server 2005/2008 के बारे में एक ही प्रश्न पूछा होगा, जो Windows Server 2003/2008 पर था, तो मैं दृढ़ता से अधिकतम ऑपरेटिंग सिस्टम के लिए बग्स के कारण एक मेमोरी सर्वर सीमा निर्धारित करने का सुझाव दूंगा जो 2003 ऑपरेटिंग सिस्टम (2003/2008) में थे। लेकिन मेमोरी कॉन्फ़िगरेशन और OS का प्रदर्शन क्रमशः SQL Server 2012 और विंडो सर्वर 2008/2012 r2 से काफी बदल गया, यदि आप मेरी राय पूछते हैं, You can leave max server memory configuration to default if you have enough RAM on system and you are just using database engine features.यदि आप MS इंजीनियरों से इस बारे में पूछते हैं , तो वे यह भी कहेंगे कि SQL सर्वर द्वारा मेमोरी को प्रबंधित करने के लिए अच्छी तरह से कोडित है स्वयं और यदि आपके पास सिर्फ SQL डेटाबेस इंजन के लिए समर्पित प्रणाली है, तो आप SQL सर्वर अधिकतम सर्वर मेमोरी को डिफ़ॉल्ट रूप से छोड़ सकते हैं SQL सर्वर इसे कुशलता से प्रबंधित करेगा।

वैसे भी अगर आप अभी भी कॉन्फ़िगर करना चाहते हैं, तो आप इस एसई थ्रेड पर दिए गए समान प्रश्न और उत्तर पढ़ सकते हैं

ऐसी स्थिति होती है जहां अधिकतम सर्वर मेमोरी की आवश्यकता होती है मैंने इस SE थ्रेड में रेखांकित किया है

दूसरी बात, आप यह कैसे जांच सकते हैं कि यह विंडोज सर्वर NUMA सक्षम है या नहीं?

थोड़ी सी खोज आपको इस Blogs.msdn लेख तक ले जाएगी। जब SQL सर्वर NUMA के बारे में पता है और इसका उपयोग कर रहा है, तो इसके विभिन्न चित्रात्मक विवरण हैं।


2
मैं सामान्य उपयोग के मामलों के लिए मेमोरी सेटिंग्स पर त्वरित संदर्भ के लिए ब्रेंट ओजर की तालिका का उपयोग करना पसंद करता हूं ।
LowlyDBA

3
यह त्वरित संदर्भ के लिए एक संकेत है और एक मूल्य के लिए शुरुआती बिंदु के रूप में कार्य करता है । मुझे पूरा यकीन है कि अगर आप उससे पूछेंगे तो वह कहेगा कि आपको इष्टतम मूल्य तक पहुँचने के लिए परफ़ॉर्म काउंटरों को और देखने की आवश्यकता है । यही कारण है कि मैंने ओपी अधिकतम सर्वर मेमोरी सेट करने के मामले में सिर्फ एक एसई लिंक जोड़ा है।
शंकी

2

SQL NUMAजागरूक है इसलिए आप NUMAकिसी क्वेरी का उपयोग करके जानकारी पा सकते हैं । आप इस क्वेरी का उपयोग यह देखने के लिए कर सकते हैं कि NUMAआपके पास कितने नोड्स हैं और कौन सा CPU और कोर किसको सौंपा गया है NUMA:

SELECT parent_node_id, scheduler_id, cpu_id
FROM sys.dm_os_schedulers WITH (NOLOCK) 
WHERE [status] = N'VISIBLE ONLINE';

या सिर्फ कितने NUMA:

select COUNT(distinct Parent_node_id)
from sys.dm_os_schedulers
where [STATUS] = 'VISIBLE ONLINE'
    and Parent_node_ID < 64

-2

हां, आपको SQL सर्वर के लिए अधिकतम मेमोरी को सीमित करना चाहिए भले ही सर्वर का केवल एक ही उद्देश्य हो। अन्यथा SQL सर्वर मेमोरी का उपयोग करना शुरू कर सकता है विंडोज को खुद को अच्छी तरह से संचालित करने की आवश्यकता होती है। आपकी आवश्यकताओं के आधार पर, विंडोज को कुल रैम का 1GB -> 20% छोड़ना सामान्य है।

सर्वर का NUMA विन्यास कार्य प्रबंधक में एक प्रक्रिया का चयन करके प्रदर्शित होता है, राइट-क्लिक करें और सेट एफिनिटी चुनें। Windows संसाधन मॉनिटर NUMA जानकारी भी प्रदर्शित करता है।

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