एक प्रश्न जो बार-बार आता है, वह यह है कि यह कैसे निर्धारित किया जाए कि SQL सर्वर 2012 चलाने वाले डेटाबेस सर्वर में कितनी भौतिक RAM होनी चाहिए। आपको यह निर्धारित करने के लिए आवश्यक जानकारी के पहले टुकड़ों में से एक यह है कि आप SQL सर्वर का कौन सा संस्करण और संस्करण चला रहे होंगे। आपके नए सर्वर पर।
64-बिट SQL सर्वर के विभिन्न संस्करणों और संस्करणों की अलग-अलग लाइसेंस सीमाएँ होती हैं कि वे विभिन्न उद्देश्यों के लिए कितनी भौतिक RAM का उपयोग कर सकते हैं, जैसा कि तालिका 1 में दिखाया गया है।
संस्करण | <वें संरेखण=बाएं>संस्करणइंजन की सीमा | <वें संरेखण=बाएं>एसएसएएस सीमा||
---|---|---|---|
SQL Server 2008 | मानक | ओएस सीमा | ओएस सीमा |
उद्यम | ओएस सीमा | ओएस सीमा | |
SQL Server 2008 R2 | मानक | 64GB | 64GB |
उद्यम | 2 टीबी | 2 टीबी | |
डेटा केंद्र | ओएस सीमा | ओएस सीमा | |
SQL Server 2012 | मानक | 64GB | 64GB |
बिजनेस इंटेलिजेंस | 64GB | ओएस सीमा | |
उद्यम | ओएस सीमा | ओएस सीमा |
तालिका 1:संस्करण और संस्करण द्वारा SQL सर्वर RAM सीमाएं
जैसा कि आप तालिका 1 से देख सकते हैं, SQL सर्वर 2008 मानक और एंटरप्राइज़ दोनों संस्करणों के लिए भौतिक RAM के लिए ऑपरेटिंग सिस्टम सीमा तक उपयोग कर सकता है। जब Microsoft ने SQL Server 2008 R2 जारी किया, तो उनके पास मानक और एंटरप्राइज़ दोनों संस्करणों के लिए कम भौतिक RAM सीमाएँ शुरू करने का बुरा विचार (मेरी राय में) था। उन्होंने SQL Server 2008 R2 का एक नया डेटा सेंटर संस्करण भी पेश किया, जिसमें भौतिक RAM के लिए इसकी लाइसेंस सीमा के रूप में पुरानी, परिचित ऑपरेटिंग सिस्टम सीमा थी।
SQL सर्वर 2012 मेमोरी लिमिट
जब Microsoft ने SQL Server 2012 जारी किया, तो उन्होंने बुद्धिमानी से डेटा सेंटर संस्करण SKU से छुटकारा पा लिया, लेकिन उन्होंने मानक संस्करण के लिए कृत्रिम रूप से कम 64GB RAM सीमा ही रखी। मैंने इस बारे में विस्तार से लिखा है कि यह एक बुरा विचार क्यों है, इसलिए मैं उन तर्कों को यहां दोबारा नहीं दोहराऊंगा। यह कहने के लिए पर्याप्त है कि एक नए दो-सॉकेट सर्वर में $800.00 से कम मूल्य के DDR3 ECC RAM (64GB गुना $12/GB) का उपयोग करने के लिए प्रतिबंधित होना थोड़ा हास्यास्पद है, जिसकी लागत सर्वर के लिए लगभग $ 10- $ 15K हो सकती है। , साथ ही सोलह SQL Server 2012 मानक संस्करण कोर लाइसेंस के लिए लगभग $29K, आपकी संग्रहण लागतों का उल्लेख नहीं करने के लिए।
अब तक, इस बात का कोई संकेत नहीं है कि Microsoft का SQL Server 2014 के लिए इस RAM सीमा को बदलने का कोई इरादा है, इसलिए हमें इससे निपटना जारी रखना पड़ सकता है। इस RAM सीमा का एक छोटा सा सकारात्मक पहलू यह है कि यह प्रति SQL सर्वर आवृत्ति है, प्रति सर्वर नहीं। इसका मतलब है कि आप थोड़े से विचार और योजना के साथ, मशीन की सभी मेमोरी, प्रोसेसर और स्टोरेज संसाधनों का लाभ उठाने के लिए एक ही भौतिक मशीन पर दो या तीन SQL Server 2012 मानक संस्करण इंस्टेंस स्थापित करने का निर्णय ले सकते हैं, यदि आप तैयार हैं नामित उदाहरणों के अतिरिक्त संसाधन उपयोग और प्रबंधन ओवरहेड से निपटने के लिए। यह आपको दो या तीन अलग-अलग सर्वरों की तुलना में हार्डवेयर और SQL Server 2012 लाइसेंसिंग लागतों में एक महत्वपूर्ण राशि बचा सकता है।
यदि आप केवल SQL सर्वर 2012 मानक संस्करण के एकल डिफ़ॉल्ट उदाहरण से चिपके रहने का निर्णय लेते हैं (जो मुझे पसंद है यदि मैं मानक संस्करण तक सीमित हूं), तो क्या आपको डेटाबेस सर्वर के लिए केवल 64GB RAM प्राप्त करनी चाहिए? मुझे लगता है कि उत्तर एक जोरदार नहीं है!
SQL सर्वर 2012 मानक संस्करण मेमोरी कॉन्फ़िगरेशन उदाहरण
सर्वर-क्लास के बाद से, DDR3 ECC RAM इतनी सस्ती है; मुझे लगता है कि नए टू-सॉकेट सर्वर के लिए उचित न्यूनतम मात्रा में RAM 96GB RAM के करीब है। यह आपको इंस्टेंस-स्तर की अधिकतम सर्वर मेमोरी सेटिंग को 65536MB पर सेट करने देगा, जो कि ठीक 64GB RAM है, जबकि ऑपरेटिंग सिस्टम के लिए बहुत अधिक RAM और आपके डेटाबेस सर्वर पर चलने वाले किसी भी अन्य एप्लिकेशन को छोड़ देता है।
प्रमुख सर्वर विक्रेताओं के पास दस्तावेज़ीकरण और ऑनलाइन मेमोरी कॉन्फ़िगरेशन टूल हैं जो यह सुनिश्चित करने में मदद करते हैं कि आपको भौतिक मेमोरी की वांछित मात्रा के लिए सर्वोत्तम मेमोरी कॉन्फ़िगरेशन संभव हो रहा है। आप CPU-Z जैसे टूल का उपयोग अपने सिस्टम मेमोरी स्पीड को जांचने के लिए भी कर सकते हैं ताकि यह सुनिश्चित हो सके कि यह आपकी अपेक्षित गति से चल रहा है।
उदाहरण के लिए, डेल के पास यहां एक ऑनलाइन कॉन्फ़िगरेशन टूल है। यह टूल आपको अपने इच्छित डेल सर्वर मॉडल को चुनने देता है, जिसमें आप किस प्रोसेसर परिवार का उपयोग कर रहे हैं (जब आपके पास कोई विकल्प हो), और भौतिक प्रोसेसर की संख्या जो वास्तव में सर्वर में होगी। फिर आप सर्वर में कितनी भौतिक RAM चाहते हैं, दर्ज करें, और अपने वांछित मेमोरी विश्वसनीयता विकल्प (जैसे मेमोरी मिररिंग, रैंक स्पैरिंग, आदि) चुनें, और फिर टूल तीन अलग-अलग संभावित मेमोरी कॉन्फ़िगरेशन के साथ आएगा:नाममात्र कॉन्फ़िगरेशन, अधिकतम प्रदर्शन, और संतुलित विन्यास। ये कॉन्फ़िगरेशन आपके द्वारा उपयोग किए जाने वाले मेमोरी मॉड्यूल के प्रकार, संख्या और आकार को दिखाते हैं, और चुने हुए कॉन्फ़िगरेशन विकल्प को संतुष्ट करने के लिए आपको कौन से मेमोरी चैनल और स्लॉट पॉप्युलेट करने चाहिए।
यदि आप दो नए 22nm Intel Xeon E5-2600 v2 (Ivy Bridge-EP) प्रोसेसर के साथ एक Dell PowerEdge R720 दो-सॉकेट सर्वर चुनते हैं और आप 96GB RAM का चयन करते हैं जिसमें कोई अन्य मेमोरी विश्वसनीयता विकल्प नहीं है, तो आपको तीन सुझाई गई मेमोरी मिलेगी विन्यास विकल्प। अधिकतम प्रदर्शन विकल्प बारह, 8GB 1866MHz 1R x4 RDIMM का सुझाव देता है, चैनल 1-4 पर स्लॉट 0 के साथ, और चैनल 1-2 पर स्लॉट 1 प्रत्येक प्रोसेसर के लिए आबादी वाला है। यह आपको 1866 मेगाहर्ट्ज की सिस्टम मेमोरी स्पीड देता है, जो कि प्रोसेसर की नई इंटेल झियोन E5-2600 v2 श्रृंखला द्वारा समर्थित अधिकतम है।
वैसे, यदि आप SQL सर्वर 2012 मानक संस्करण का उपयोग करने जा रहे हैं, तो डेल R720 में आपको जो सटीक प्रोसेसर चाहिए, वह Intel Xeon E5-2667 v2 है, जिसमें 3.3GHz की बेस क्लॉक स्पीड के साथ आठ भौतिक कोर हैं। उच्च कोर-गणना मॉडल होने से SQL सर्वर 2012 मानक संस्करण के लिए 16 भौतिक कोर लाइसेंस सीमा में चला जाएगा।
बैलेंस्ड कॉन्फ़िगरेशन विकल्प बारह, 8GB 1600MHz 1R x4 RDIMM का सुझाव देता है, चैनल 1-4 पर स्लॉट 0 के साथ, और चैनल 1-2 पर स्लॉट 1 प्रत्येक प्रोसेसर के लिए आबादी वाला है। यह आपको 1600 मेगाहर्ट्ज की एक सिस्टम मेमोरी स्पीड देता है, जो अधिकतम प्रदर्शन विकल्प की तुलना में थोड़ी कम विद्युत शक्ति का उपयोग करेगा।
नाममात्र विन्यास विकल्प चौबीस, 4GB 1333MHz 1R x8 RDIMM का सुझाव देता है जिसमें प्रत्येक प्रोसेसर के लिए सभी चैनलों पर सभी स्लॉट होते हैं। यह आपको 1333 मेगाहर्ट्ज की एक सिस्टम मेमोरी स्पीड देता है, जिसमें आपके सभी स्लॉट काफी छोटे 4GB RDIMM से भरे होते हैं। यह एक कम इष्टतम विकल्प है जिसे छोटी क्षमता, कम गति वाले DIMM का उपयोग करके मेमोरी लागत पर कुछ पैसे बचाने के लिए डिज़ाइन किया गया है। दुर्भाग्य से, स्मृति प्रदर्शन की एक अच्छी मात्रा को छोड़ने और कोई खाली मेमोरी स्लॉट नहीं होने की कीमत पर, यहाँ बहुत कम वास्तविक मौद्रिक बचत है।
Intel Xeon E5-2600 और E5-2600 v2 श्रृंखला प्रोसेसर के साथ, यदि आप प्रति मेमोरी चैनल केवल एक या दो स्लॉट पॉप्युलेट करते हैं, तो आपको उच्चतम संभव मेमोरी बैंडविड्थ मिलेगी। तीसरे मेमोरी स्लॉट को पॉप्युलेट करने से सिस्टम मेमोरी स्पीड में कमी आती है। किफ़ायती 16GB RDIMM का उपयोग करके आप अधिकतम सिस्टम मेमोरी स्पीड पर अधिकतम मेमोरी का उपयोग कर सकते हैं, 256GB है, जो सोलह, 16GB RDIMM होगा, जो चैनल 1 और 2 पर सभी स्लॉट को पॉप्युलेट करेगा। 256GB से कम होने से कोई सिस्टम मेमोरी स्पीड लाभ नहीं है। दो-सॉकेट सर्वर में दो Xeon E5-2600 या E5-2600 v2 श्रृंखला प्रोसेसर के साथ RAM।
भले ही एक मेमोरी कॉन्फ़िगरेशन के साथ आने का प्रयास करना बेहतर है, जो मेरे अनुभव में (और अधिकांश वास्तविक एप्लिकेशन बेंचमार्क जो मैंने देखा है), वास्तविक दुनिया के प्रदर्शन में अंतर विभिन्न सिस्टम मेमोरी स्पीड के बीच आपकी अपेक्षा से बहुत कम है, अक्सर 5-10% या उससे कम रेंज में। SQL सर्वर एंटरप्राइज़ संस्करण के उपयोग के लिए, मेरे पास स्टोरेज सबसिस्टम से डेटा खींचने की कीमत पर उच्चतम संभव मेमोरी गति प्राप्त करने के लिए कम मात्रा में RAM लेने के बजाय बफर पूल में अपने पूरे कार्यभार को फिट करने के लिए पर्याप्त RAM होगी। अक्सर। यहां तक कि "धीमी" रैम में फ्लैश-आधारित स्टोरेज सहित किसी भी प्रकार के स्टोरेज सबसिस्टम की तुलना में परिमाण कम विलंबता के आदेश हैं।
यदि मेरा कार्यभार 256GB RAM में फिट नहीं होता है, तो मैं अधिक RAM जोड़ने और सिस्टम मेमोरी स्पीड हिट लेने के बजाय बहुत धीमी स्टोरेज सबसिस्टम को अधिक बार एक्सेस करने के लिए हिट लेने के बजाय लेता हूं। तो संक्षेप में, मुझे लगता है कि इस प्रकार के सर्वर के लिए SQL Server 2012 मानक संस्करण के लिए मेमोरी स्वीट स्पॉट 96GB है, SQL Server 2012 एंटरप्राइज़ संस्करण के लिए 256GB तक बढ़ रहा है (जब तक कि आपका कार्यभार 256GB से बड़ा न हो)।