Database
 sql >> डेटाबेस >  >> RDS >> Database

अनुक्रमिक थ्रूपुट गति और फ़ीड

मैं काफी समय से SQL सर्वर के लिए अनुक्रमिक थ्रूपुट प्रदर्शन के महत्व के बारे में बात कर रहा हूं। SQL सर्वर में कई सामान्य संचालन के लिए अनुक्रमिक थ्रूपुट गंभीर रूप से महत्वपूर्ण है, जिसमें शामिल हैं:

  1. पूर्ण डेटाबेस बैकअप और पुनर्स्थापना
  2. सूचकांक निर्माण और रखरखाव कार्य
  3. प्रतिकृति स्नैपशॉट और सदस्यता प्रारंभ करना
  4. ऑलवेजऑन एजी प्रतिकृतियां प्रारंभ करना
  5. डेटाबेस दर्पण प्रारंभ करना
  6. लॉग-शिपिंग सेकेंडरी को प्रारंभ करना
  7. रिलेशनल डेटा वेयरहाउस क्वेरी वर्कलोड
  8. रिलेशनल डेटा वेयरहाउस ईटीएल संचालन

SQL सर्वर के लिए अनुक्रमिक थ्रूपुट के महत्व के बावजूद, मुझे अभी भी बहुत से लोग दिखाई देते हैं जो केवल केवल . पर ध्यान केंद्रित करते हैं यादृच्छिक I/O प्रदर्शन और विलंबता पर, बड़े पैमाने पर अनुक्रमिक थ्रूपुट प्रदर्शन को अनदेखा करते हुए। जैसा कि आप अनुक्रमिक थ्रूपुट प्रदर्शन के बारे में सोच रहे हैं, आपको डेटा के संपूर्ण पथ पर विचार करने की आवश्यकता है, यह आपके स्टोरेज मीडिया पर आराम से है, इसे आपके प्रोसेसर कोर द्वारा उपभोग किया जा रहा है।

आप किस प्रकार की स्टोरेज तकनीक का उपयोग कर रहे हैं, इस पर निर्भर करते हुए, इसे ईथरनेट नेटवर्क इंटरफेस कार्ड (एनआईसी) या इनफिनीबैंड होस्ट चैनल एडेप्टर (एचसीए) कार्ड द्वारा आपके होस्ट सर्वर से जोड़ा जा सकता है। इस प्रकार का कनेक्शन iSCSI SAN और रिमोट सर्वर मैसेज ब्लॉक (SMB) 3.0 फ़ाइल शेयर के लिए सबसे आम है। Microsoft TechNet के पास इस विषय के बारे में एक अच्छा संदर्भ है, जिसे SMB Direct के साथ फ़ाइल सर्वर का बेहतर प्रदर्शन कहा जाता है।

एकल एनआईसी/एचसीए डिवाइस (प्रति पोर्ट) का सैद्धांतिक अनुक्रमिक थ्रूपुट चित्र 1 में दिखाया गया है:

चित्र 1:सैद्धांतिक एनआईसी/एचसीए थ्रूपुट

बस अगर आप सोच रहे हैं कि InfiniBand (QDR) या Infiniband (FDR) क्या संदर्भित करता है, तो InfiniBand Trade Association एक InfiniBand रोडमैप रखता है जो अगले कई वर्षों में InfiniBand बैंडविड्थ में इतिहास और नियोजित प्रगति को दर्शाता है। Infiniband के पास संक्षेपण की एक सूची है जो एक InfiniBand लिंक के सापेक्ष प्रदर्शन का वर्णन करती है जैसा कि नीचे दिखाया गया है:

  • एसडीआर - एकल डेटा दर
  • डीडीआर - डबल डेटा दर
  • QDR - क्वाड डेटा दर
  • FDR - चौदह डेटा दर
  • ईडीआर - बढ़ी हुई डेटा दर
  • एचडीआर - उच्च डेटा दर
  • NDR - अगली डेटा दर

पारंपरिक फाइबर चैनल (FC) SAN आमतौर पर एक या अधिक होस्ट बस एडेप्टर (HBA) का उपयोग करते हैं जिसमें ऑप्टिकल केबल के लिए एक या अधिक पोर्ट होते हैं जो FC स्विच से या सीधे FC SAN से कनेक्ट होते हैं। 16Gb FC HBA को व्यापक उपयोग में देखना अभी भी अपेक्षाकृत दुर्लभ है, इसलिए अधिकांश होस्ट सर्वर में अभी भी 4Gb या 8Gb FC HBA है।

एकल एचबीए डिवाइस (प्रति पोर्ट) का सैद्धांतिक अनुक्रमिक थ्रूपुट चित्र 2 में दिखाया गया है:

चित्र 2:सैद्धांतिक एचबीए थ्रूपुट

चाहे आप किस प्रकार के इंटरफ़ेस डिवाइस या तकनीक का उपयोग कर रहे हों, आपको इस बारे में चिंतित होने की आवश्यकता है कि यह आपके होस्ट सर्वर पर किस प्रकार का विस्तार बस स्लॉट प्लग इन है। आपके सर्वर की उम्र और उसके द्वारा उपयोग किए जा रहे प्रोसेसर के प्रकार के आधार पर, यह उस कुल बैंडविड्थ पर बहुत बड़ा प्रभाव डाल सकता है जिसे बस स्लॉट सपोर्ट कर सकता है। पेरिफेरल कंपोनेंट इंटरकनेक्ट एक्सप्रेस (PCIe) जेन 3 स्लॉट में पुराने PCIe Gen 2 स्लॉट की तुलना में प्रति लेन दो बार बैंडविड्थ है। आप अपने ब्रांड और सर्वर के मॉडल के विनिर्देशों और दस्तावेज़ीकरण को देखकर यह निर्धारित कर सकते हैं कि आपके होस्ट सर्वर में कितने और किस प्रकार के विस्तार स्लॉट हैं। अभी तक केवल Intel Xeon E3 v2, Xeon E3 v3, Xeon E5, Xeon E5 v2, Xeon E5 v3 और Xeon E7 v2 फैमिली प्रोसेसर ही PCIe Gen 3 स्लॉट को सपोर्ट करते हैं। इससे पुरानी किसी भी चीज़ में PCIe Gen 2 स्लॉट होंगे, या शायद PCIe Gen 1 स्लॉट भी होंगे यदि यह बहुत पुराना है (कंप्यूटर के संदर्भ में)।

एकल PCIe स्लॉट का सैद्धांतिक अनुक्रमिक थ्रूपुट चित्र 3 में दिखाया गया है:

चित्र 3:सैद्धांतिक विस्तार स्लॉट थ्रूपुट

2008 में Intel Nehalem माइक्रोआर्किटेक्चर की शुरुआत के बाद से, सभी 2P और बड़े Intel सर्वर प्रोसेसर ने सर्वर में प्रोसेसर और मेमोरी के बीच कनेक्शन के लिए Intel QuickPath इंटरकनेक्ट (QPI) का समर्थन किया है, जिससे ये नए प्रोसेसर गैर-यूनिफ़ॉर्म मेमोरी एक्सेस के लिए समर्थन देते हैं। (NUMA), जिसने पुरानी फ्रंट-साइड बस (FSB) को बदल दिया। NUMA स्केलेबिलिटी में काफी सुधार करता है क्योंकि सिस्टम में भौतिक प्रोसेसर की संख्या बढ़ जाती है, खासकर जब आपके पास होस्ट सिस्टम में चार या अधिक भौतिक प्रोसेसर होते हैं।

आधुनिक इंटेल प्रोसेसर में एकीकृत मेमोरी कंट्रोलर होते हैं जो इंटेल क्यूपीआई का समर्थन करते हैं। जब आप ऑनलाइन एआरके डेटाबेस में किसी विशेष इंटेल प्रोसेसर के विनिर्देशों को देखते हैं, तो आप GigaTransfers per second (GT/sec) में इसका रेटेड QPI प्रदर्शन देख पाएंगे। एक GigaTransfer प्रति सेकंड केवल एक बिलियन ऑपरेशन है जो प्रति सेकंड डेटा ट्रांसफर करता है।

उदाहरण के लिए, एक आधुनिक, हाई-एंड Intel Xeon E5-2667 v3 प्रोसेसर (Haswell-EP) में Intel QPI स्पीड 9.6 GT/sec है, जबकि एक पुराने, लो-एंड Intel Xeon E5503 प्रोसेसर (Nehalem-EP) में एक इंटेल क्यूपीआई स्पीड केवल 4.8 जीटी/सेकंड। एक ही पीढ़ी के माइक्रोआर्किटेक्चर के प्रोसेसर के बीच भी, आप रेटेड इंटेल क्यूपीआई स्पीड में बदलाव देखेंगे। उदाहरण के लिए, 22nm Haswell-EP परिवार में, निम्न-स्तरीय Intel Xeon E5-2603 v3 प्रोसेसर को 6.4 GT/sec पर रेट किया गया है, जबकि उच्च-स्तरीय Intel Xeon E5-2660 v3 प्रोसेसर को 9.6 GT/sec पर रेट किया गया है। Intel Xeon E5, E5 v2 और E5 v3 प्रोसेसर में प्रति प्रोसेसर दो QPI लिंक होते हैं, जबकि Intel E7 और E7 v2 परिवार प्रोसेसर में प्रति प्रोसेसर तीन QPI लिंक होते हैं।

एकल Intel QPI लिंक का सैद्धांतिक अनुक्रमिक थ्रूपुट चित्र 4 में दिखाया गया है:

चित्र 4:सैद्धांतिक इंटेल QPI थ्रूपुट

आपके होस्ट सर्वर की उम्र के आधार पर, सटीक प्रोसेसर जो इसका उपयोग कर रहा है, और प्रकार, गति और मेमोरी की मात्रा जो स्थापित है, आपके पास प्रत्येक मेमोरी मॉड्यूल से अलग-अलग मात्रा में सैद्धांतिक अनुक्रमिक थ्रूपुट उपलब्ध होगा। सभी आधुनिक इंटेल प्रोसेसर में एकीकृत मेमोरी कंट्रोलर होते हैं जो प्रोसेसर द्वारा समर्थित मेमोरी की मात्रा और आवृत्ति को नियंत्रित करते हैं। हाल के पुराने होस्ट सर्वर DDR3 मेमोरी का उपयोग करेंगे, जबकि नवीनतम पीढ़ी के Haswell-EP (Intel Xeon E5 v3 परिवार) प्रोसेसर DDR4 मेमोरी का समर्थन करते हैं। DDR4 मेमोरी DDR3 मेमोरी की तुलना में उच्च गति, उच्च थ्रूपुट, उच्च मेमोरी घनत्व, कम बिजली की खपत और बेहतर विश्वसनीयता का समर्थन करती है।

एकल मेमोरी मॉड्यूल का सैद्धांतिक अनुक्रमिक थ्रूपुट चित्र 5 में दिखाया गया है:

चित्र 5:सैद्धांतिक मेमोरी मॉड्यूल थ्रूपुट

जब आप किसी मौजूदा या नियोजित नई प्रणाली में अलग-अलग घटकों को देखते हैं, तो आपको बेमेल घटकों की तलाश में रहना चाहिए जो सिस्टम में कृत्रिम अनुक्रमिक प्रदर्शन बाधाओं को पेश कर सकते हैं। उदाहरण के लिए, आपके पास हाई-एंड प्रोसेसर के साथ एक बिल्कुल नया सर्वर हो सकता है जो इस तथ्य से अपंग है कि वह सैन तक पहुंचने के लिए 4 जीबी एफसी एचबीए का उपयोग कर रहा है। एक अन्य उदाहरण एक बहुत तेज़ PCIe फ्लैश स्टोरेज कार्ड या RAID नियंत्रक हो सकता है जो कम बैंडविड्थ PCIe 2.0 x4 स्लॉट में स्थापित किया गया था, जो कृत्रिम रूप से डिवाइस के कुल अनुक्रमिक थ्रूपुट को सीमित करता है।

मुझे पता है कि यह पचाने के लिए बहुत सारी तकनीकी जानकारी रही है, खासकर उन लोगों के लिए जो हार्डवेयर के प्रति उत्साही नहीं हैं। मुझे लगता है कि आपको इस लेख से जो मुख्य विचार निकालना चाहिए वह यह है कि कई सामान्य SQL सर्वर कार्यों और वर्कलोड के लिए अनुक्रमिक थ्रूपुट प्रदर्शन काफी महत्वपूर्ण है। प्रोसेसर, मेमोरी प्रकार, विस्तार स्लॉट और विस्तार उपकरणों के बारे में निम्न-स्तरीय विवरण वास्तव में अनुक्रमिक थ्रूपुट प्रदर्शन में बहुत अंतर डालते हैं जो आपको सर्वर और उसके स्टोरेज सबसिस्टम से प्राप्त होंगे। अच्छा अनुक्रमिक थ्रूपुट होने से आपका जीवन एक डेटाबेस पेशेवर के रूप में बहुत आसान हो जाता है, जिससे आप अपने संगठन को उच्च स्तर पर समर्थन दे सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WP-CLI के साथ अपने वर्डप्रेस डेटाबेस को पुनर्स्थापित करें

  2. होटल रूम बुकिंग सिस्टम के लिए डेटा मॉडल डिजाइन करना

  3. IRI कार्यक्षेत्र में वर्टिका से जुड़ना

  4. सिंथेटिक डेटा जनरेशन

  5. शीर्ष 30 SQL क्वेरी साक्षात्कार प्रश्न जिनका आपको 2022 में अभ्यास करना चाहिए