16 नवंबर, 2016 को SQL सर्वर 2016 सर्विस पैक 1 के रिलीज़ होने के बाद से, कई बहुत उपयोगी प्रोग्राम-योग्यता-संबंधित सुविधाओं के साथ, जो पहले केवल एंटरप्राइज़ संस्करण में उपलब्ध थे, कई संगठनों के लिए जानबूझकर SQL सर्वर 2016 का उपयोग करना अधिक व्यवहार्य हो गया है। पहले की तुलना में मानक संस्करण।
यदि आप ऐसा करने के बारे में सोच रहे हैं, तो आपको कुछ सामान्य मुद्दों और नुकसानों से अवगत होना चाहिए, जो आधुनिक हार्डवेयर वाले नए सर्वर पर SQL सर्वर 2016 मानक संस्करण को स्थापित और उपयोग करते समय आपके सामने आ सकते हैं।
स्मृति सीमाएं और कॉन्फ़िगरेशन
पहला मुद्दा SQL सर्वर 2016 मानक संस्करण के लिए प्रति-आवृत्ति लाइसेंसिंग सीमा है। पहली लाइसेंस सीमा मेमोरी की मात्रा है जिसे आप SQL सर्वर 2016 मानक संस्करण के प्रत्येक उदाहरण के लिए बफर पूल के लिए उपयोग कर सकते हैं, जो कि केवल 128GB है, जैसा कि SQL Server 2014 मानक संस्करण में था। निजी तौर पर, मुझे लगता है कि आधुनिक दो-सॉकेट सर्वरों की मेमोरी घनत्व को देखते हुए यह सीमा कृत्रिम रूप से कम है, लेकिन यह एक ऐसी सीमा है जिससे हमें निपटना चाहिए।
वर्तमान दो-सॉकेट सर्वर जो Intel Xeon E5-2600 v4 उत्पाद फ़ैमिली प्रोसेसर का उपयोग करते हैं, प्रति प्रोसेसर 12 DIMM तक का उपयोग कर सकते हैं, जबकि 32GB DDR4 ECC DIMM उच्चतम क्षमता वाले हैं जो प्रति GB भी किफायती हैं। इस प्रोसेसर परिवार वाले प्रत्येक सर्वर में प्रति प्रोसेसर 4 मेमोरी चैनल होते हैं, प्रत्येक चैनल 3 DIMM तक का समर्थन करता है। चौबीस 32GB DIMM वाले पूरी तरह से आबादी वाले दो-सॉकेट सर्वर में 768GB RAM होगी, जो कि SQL Server 2016 मानक संस्करण के एकल उदाहरण के उपयोग की अनुमति से कहीं अधिक है।
चूंकि SQL सर्वर 2016 मानक संस्करण में इतनी कम प्रति-आवृत्ति मेमोरी सीमा है, इसलिए आपको जानबूझकर एक उपयुक्त मेमोरी कॉन्फ़िगरेशन चुनना चाहिए जो आपको सर्वोत्तम मेमोरी प्रदर्शन प्राप्त करने के साथ-साथ सभी लाइसेंस-सीमा मेमोरी का उपयोग करने देगा। प्रति मेमोरी चैनल केवल एक DIMM को पॉप्युलेट करने से आपको अपने प्रोसेसर द्वारा समर्थित पूर्ण सर्वश्रेष्ठ मेमोरी प्रदर्शन मिलेगा।
प्रमुख सर्वर विक्रेता, जैसे कि डेल, अपने सर्वर के लिए संभावित मेमोरी कॉन्फ़िगरेशन पर विस्तृत मार्गदर्शन प्रदान करते हैं, जो चयनित प्रोसेसर की संख्या और विशिष्ट प्रकार पर निर्भर करता है। SQL सर्वर 2016 मानक संस्करण के लिए दो-सॉकेट सर्वर में दो Intel Xeon E5-2600 v4 परिवार प्रोसेसर के साथ, आठ चुनने पर, 32GB DDR4 DIMM आपको 256GB RAM देगा, जो 2400MT/s की अधिकतम समर्थित गति पर चल रहा है।
यह आपको अधिकतम सर्वर मेमोरी (बफर पूल के लिए) को 131,072 एमबी (128GB) पर सेट करने की अनुमति देगा, और अभी भी ऑपरेटिंग सिस्टम के लिए और कॉलमस्टोर इंडेक्स और इन-मेमोरी-ओएलटीपी द्वारा संभावित उपयोग के लिए बहुत मेमोरी बची है। आपके पास सोलह खाली DIMM स्लॉट भी होंगे जिनका उपयोग भविष्य में RAM विस्तार के लिए किया जा सकता है (जिसका आप लाभ उठा सकते हैं यदि आपने बाद के संस्करण को एंटरप्राइज़ संस्करण में अपग्रेड किया है)। उन खाली DIMM स्लॉट्स में से कुछ के लिए एक अन्य उपयोग NVDIMM (जो SP1 के साथ SQL Server 2016 मानक संस्करण में समर्थित है) पर "लॉग कैशिंग की पूंछ" के लिए होगा।
प्रोसेसर लाइसेंस सीमाएं
SQL सर्वर 2016 मानक संस्करण भी चार सॉकेट या 24 भौतिक प्रोसेसर कोर से कम तक सीमित है। इंटेल और एएमडी दोनों के वर्तमान और आने वाले प्रोसेसर परिवारों के साथ, जिनमें 32 भौतिक कोर होंगे, अनजाने में प्रति-इंस्टेंस प्रोसेसर कोर सीमा को पार करना बहुत आसान है, प्रदर्शन और लाइसेंसिंग लागतों के कई गंभीर परिणाम हैं।
ऐसा करने का पहला नकारात्मक प्रभाव यह है कि SQL सर्वर 2016 मानक संस्करण आपके NUMA नोड्स में आपके उपलब्ध लाइसेंस-सीमा भौतिक कोर को कैसे आवंटित करेगा। उदाहरण के लिए, यदि आपके पास एक नया दो-सॉकेट सर्वर था जिसमें दो, 16-कोर Intel Xeon E5-2697A v4 प्रोसेसर थे, तो डिफ़ॉल्ट रूप से, SQL Server 2016 मानक संस्करण NUMA नोड 0 पर सोलह भौतिक कोर और NUMA पर केवल आठ कोर का उपयोग करेगा। नोड 1, जो एक असंतुलित विन्यास है जो उतना अच्छा प्रदर्शन नहीं करेगा जितना वह कर सकता था। जैसा कि मैं यहां बता रहा हूं, आप इस समस्या को ALTER SERVER CONFIGURATION कमांड से ठीक कर सकते हैं।
इस स्थिति में चोट के अपमान को जोड़ने के लिए, Microsoft आपसे मशीन में सभी 32 भौतिक कोर के लिए कोर लाइसेंस खरीदने की भी उम्मीद करेगा, भले ही आपको प्रति उदाहरण केवल 24 भौतिक कोर का उपयोग करने की अनुमति हो। कोर लाइसेंस के लिए यह लगभग $15K अतिरिक्त लाइसेंस लागत होगी, जिसका आप उपयोग नहीं कर पाएंगे, जब तक कि आप एक ही होस्ट मशीन पर कई इंस्टेंस चलाने का निर्णय नहीं लेते। एक सामान्य दो-सॉकेट सर्वर के लिए अतिरिक्त लाइसेंस लागत का भुगतान करना होगा, यह इस बात पर निर्भर करता है कि इसे कैसे कॉन्फ़िगर किया गया था।
एक अन्य सामान्य समस्या जिससे आपको मानक संस्करण से बचना चाहिए, वह है एक वर्चुअल मशीन बनाना जिसमें चार से अधिक सॉकेट हों। यदि आप ऐसा करते हैं, तो SQL सर्वर मानक संस्करण सॉकेट लाइसेंस सीमा के कारण केवल चार सॉकेट का उपयोग करेगा।
प्रोसेसर चयन
वर्तमान में, दो-सॉकेट सर्वरों के लिए सबसे आधुनिक Intel Xeon प्रोसेसर परिवार 14nm Intel Xeon E5-2600 v4 उत्पाद परिवार (Broadwell-EP) है जिसे 2016 की पहली तिमाही में जारी किया गया था। Intel अगली पीढ़ी के 14nm Intel को जारी करने के कगार पर है। Xeon E5-2600 v5 (स्काइलेक-ईपी), जो पहले से ही Google क्लाउड प्लेटफ़ॉर्म में उपलब्ध है। मेरा अनुमान है कि ये नए प्रोसेसर (जिनके लिए नए मॉडल सर्वर की आवश्यकता होगी) 2017 की दूसरी तिमाही में सार्वजनिक रूप से उपलब्ध होंगे।
इस 24-भौतिक कोर लाइसेंस सीमा को देखते हुए, यह अत्यंत महत्वपूर्ण है कि आप 12 से अधिक भौतिक कोर वाले प्रोसेसर का चयन नहीं करते हैं (यदि आप दो-सॉकेट सर्वर के दोनों सॉकेट को पॉप्युलेट करने की योजना बना रहे हैं)। यह आपके प्रोसेसर SKU के चयन को कुछ हद तक सीमित करता है, लेकिन अभी भी चार बेहतरीन विकल्प उपलब्ध हैं, जैसा कि तालिका 1 में दिखाया गया है।
मॉडल | कोर | स्था. टीपीसी-ई सिस्टम स्कोर | स्कोर/भौतिक कोर | लाइसेंस लागत |
---|---|---|---|---|
ज़ीऑन E5-2687W v4 | 24 | 3,673.00 | 153.04 | $44,592.00 |
ज़ीऑन E5-2667 v4 | 16 | 2,611.91 | 163.24 | $29,728.00 |
Xeon E5-2643 v4 | 12 | 2,081.36 | 173.44 | $22,296.00 |
ज़ीऑन E5-2637 v4 | 8 | 1,428.39 | 178.54 | $14,864.00 |
तालिका 1:तुलनात्मक दो-सॉकेट सिस्टम प्रोसेसर मेट्रिक्स
तालिका 1 कुल भौतिक कोर, अनुमानित टीपीसी-ई स्कोर, अनुमानित टीपीसी-ई स्कोर/भौतिक कोर, और दो-सॉकेट सिस्टम के लिए कुल SQL सर्वर 2016 मानक संस्करण लाइसेंस लागत दिखाती है, जिसमें से दो चयनित प्रोसेसर हैं। आप देख सकते हैं कि मेरे पास बारह-कोर प्रोसेसर, एक आठ-कोर प्रोसेसर, एक छह-कोर प्रोसेसर और एक चार-कोर प्रोसेसर है, लेकिन तालिका 1 में कोई दस-कोर प्रोसेसर नहीं है। यह डिज़ाइन द्वारा है, क्योंकि तीन उपलब्ध दस-कोर प्रोसेसर मॉडल SQL सर्वर के लिए बहुत खराब विकल्प हैं, क्योंकि उनकी आधार घड़ी की गति बहुत कम है।
पूरे सिस्टम के लिए अनुमानित TPC-E स्कोर सिस्टम की कुल CPU क्षमता का माप है, जबकि स्कोर/कोर उस विशिष्ट प्रोसेसर के सिंगल-थ्रेडेड CPU प्रदर्शन का एक माप है।
सारांश
यदि आप SQL सर्वर 2016 मानक संस्करण उदाहरण के लिए न्यूनतम हार्डवेयर और SQL सर्वर लाइसेंसिंग लागत पर सर्वोत्तम प्रदर्शन संभव चाहते हैं, तो आपको एक मेमोरी कॉन्फ़िगरेशन चुनना चाहिए जो केवल एक DIMM प्रति मेमोरी चैनल का उपयोग करता है (मतलब दो-सॉकेट सिस्टम में कुल आठ DIMM) दो Intel Xeon E5-2600 v4 फ़ैमिली प्रोसेसर के साथ)।
आपको तालिका 1 में सूचीबद्ध चार प्रोसेसरों में से एक को जानबूझकर भी चुनना चाहिए। कोई अन्य प्रोसेसर विकल्प इस दृष्टिकोण से संभावित रूप से महंगी गलती है।
अंत में, यदि आप SQL सर्वर 2016 मानक संस्करण का उपयोग करने जा रहे हैं, तो आपको जांच और परीक्षण करना चाहिए कि क्या बफर पूल एक्सटेंशन (BPE) आपके कार्यभार के साथ प्रदर्शन में मदद कर सकता है। आपके कार्यभार के आधार पर, NVDIMM पर "लॉग ऑफ़ टेल" कैशिंग भी आपके लेन-देन लॉग प्रदर्शन के लिए बहुत फायदेमंद हो सकता है।