सवाल वर्चुअल मशीन के अंदर डेटाबेस चलाने की क्या कमी है? मैं उन्हें कैसे दूर करूं? [बन्द है]


वर्चुअल मशीन के अंदर कुछ भी चलाना प्रदर्शन के कुछ स्तर पर होगा, लेकिन यह कितना है वास्तव में डेटाबेस सिस्टम के प्रदर्शन को प्रभावित करते हैं?

मुझे मिला यह अकादमिक संदर्भ पत्र कुछ रोचक बेंचमार्क के साथ, लेकिन यह केवल ज़ेन और पोस्टग्रेएसक्यूएल का उपयोग करके सीमित परीक्षण था। निष्कर्ष यह था कि वीएम का उपयोग "प्रदर्शन में उच्च लागत पर नहीं आता है" (हालांकि आपको लगता है कि वास्तविक डेटा अन्यथा कहता है)।

वर्चुअल मशीन के भीतर डेटाबेस चलाने के साथ जुड़े तकनीकी, प्रशासनिक और अन्य दोष क्या हैं?

कृपया उत्तर पोस्ट करें जिसका उद्देश्य उद्देश्य तथ्यों द्वारा समर्थित किया जा सकता है, मुझे अटकलें या किसी अन्य अर्ध-धार्मिक तर्क में दिलचस्पी नहीं है (गीक जुनून कई तरीकों से अच्छा है, लेकिन इससे हमें यहां मदद नहीं मिलेगी)।

ऐसा कहे जाने के बाद,

  • वर्चुअल मशीन में डेटाबेस चलाते समय क्या समस्याएं दिखाई देती हैं? (कृपया संदर्भ पोस्ट करें)
  • क्या ये मुद्दे महत्वपूर्ण हैं?      
    • क्या वे कुछ परिस्थितियों में केवल महत्वपूर्ण हैं?
  • कामकाज क्या हैं?

64
2017-09-01 14:03


मूल


+1 मैं मुख्य रूप से SQL सर्वर और विंडोज 2008 आर 2 परिदृश्यों के बारे में प्रतिक्रिया सुनने में रूचि रखता हूं - random65537
@ शेन मैडेन - क्या आप कृपया बंद करने की व्याख्या कर सकते हैं? मैं उम्मीद करता हूं कि प्रेरणा एक गैर-विशिष्ट द्वारा संचालित की गई थी उत्तर (जो तब टिप्पणियों में निकल गया), सवाल ही नहीं। इस सवाल के बारे में, पूर्व-बंद होने वाले अस्तित्व के लगभग एक दिन के भीतर 44 वोट और 12 पसंदीदा मुझे दर्शाते हैं कि यह उपयोगी उत्तर / जानकारी (विशेष रूप से सर्वरफॉल्ट प्रश्न यातायात के लिए सामान्य प्रतीत होता है) के साथ एक अच्छा सवाल था। यह वही है जो विभिन्न एसई साइट्स का लक्ष्य रख रहे हैं। क्या आप एक और अधिक विशिष्ट प्रश्न phrasing पसंद करेंगे, ढीले बनाम "यह कितना बुरा है?"। - Russ
@ एरिका, शेन, वोम्बल, माइकब, बेन - मैंने एक सामुदायिक संपादन किया जो इस सवाल को अधिक रचनात्मक बना सकता है। इसे फिर से खोलने पर विचार करें, या एक नए प्रश्न को एक नए / साफ प्रश्न पर पोस्ट करें। - random65537


जवाब:


हालांकि कई डीबी विक्रेता ऐसा करने में बहुत धीमे थे, फिर भी वे सभी आधिकारिक तौर पर वर्चुअलाइज्ड वातावरण में चल रहे अपने सॉफ़्टवेयर का समर्थन करते हैं।

हम ESXi के शीर्ष पर लिनक्स में कई ओरेकल 11 जी उदाहरण चलाते हैं, और यह निश्चित रूप से बहुत अच्छा प्रदर्शन प्राप्त करना संभव है। सभी हार्डवेयर स्केलिंग के साथ, आपको केवल यह सुनिश्चित करने की आवश्यकता है कि वर्चुअलाइजेशन मेज़बान इसमें बहुत सारे संसाधन हैं (रैम, सीपीयू), और यह कि आपकी डिस्क परत जो भी आईओ प्रदर्शन आपको आवश्यक है उसे वितरित करने के कार्य तक है।


41
2017-09-01 14:35



+1 जैसा कि ध्यान दिया गया है, संसाधन यह है कि संसाधन कार्य तक पहुंचते हैं। डिस्क हमारे लिए बड़ी बाधा रही है और सावधानीपूर्वक योजना की आवश्यकता है। - Dave M
+1 आपको डेटाबेस पर अपना होमवर्क करने की ज़रूरत है प्रयोग समय से आगे। यदि आपका भौतिक बॉक्स 40% उपयोग से ऊपर हैरान हो रहा है तो vm'ing के लिए आपके फायदे इसे भंग करना शुरू कर देते हैं। ऐसा कहा जा रहा है कि हमारे पास बहुत कम आवेदन-विशिष्ट पृथक एसक्यूएल है जो बिना किसी समस्या के वीएम पर चल रहा है। लेकिन हमारी बड़ी भारी उपयोग मशीनों ने लाभ की कमी के कारण हार्डवेयर समर्पित किया है। - Nate
निश्चित रूप से डिस्क IO बड़ा अपराधी है, और वर्चुअलाइज्ड वातावरण क्या फ्लैकी हो जाते हैं। - lynxman
@lynxman - सहमत हम अपने सभी ओरेकल उदाहरणों को हमारे टायर 1 SAN डिस्क पर चलाते हैं, जो 15k एसएएस हैं। मैं जो कह सकता हूं, उससे हमें मिलता है बहुत निकट देशी प्रदर्शन के करीब। - EEAA
"परीक्षण का औंस अनुमान के एक पौंड के लायक है।" - Chris B. Behrens


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

ब्रेंट ओज़र एसक्यूएल सर्वर वर्चुअलाइज करने में एक मान्यता प्राप्त विशेषज्ञ है, खासकर वीएमवेयर में। मैं अत्यधिक उसकी सामग्री के माध्यम से पढ़ने की सिफारिश करेंगे।

http://www.brentozar.com/community/virtualization-best-practices/


21
2017-09-01 15:00





वहाँ है कर सकते हैं और फिर वहाँ है चाहिए। एक कार्वेट 150 मील प्रति घंटे जा सकता है, लेकिन क्या आपको सार्वजनिक राजमार्गों पर जाना चाहिए? आप अपने आप को अनावश्यक रूप से नुकसान पहुंचा सकते हैं।

डेटाबेस अतिथि ऑपरेटिंग सिस्टम हैं। डिज़ाइन द्वारा जब वे शुरू करते हैं तो वे संसाधन के ब्लॉक को पकड़ते हैं और इसे प्रदर्शन कारणों से सीधे प्रबंधित करते हैं। जैसे ही आप डेटाबेस सर्वर की कोर ऑपरेटिंग सिस्टम वर्चुअलाइज्ड होस्टिंग वातावरण में अतिथि बनाते हैं, तो आप डिस्क और रैम और डेटाबेस सर्वर के ब्लॉक आवंटित तत्व के बीच हाइपरवाइजर के साथ मध्यस्थता परत डाल रहे हैं। यह धीमा हो जाएगा। आपके प्रश्नों को और अधिक अक्षम, उतना ही धीमा हो जाएगा। इन अक्षमताओं को आज समर्पित हार्डवेयर पर मुखौटा किया जा सकता है, लेकिन जैसे ही आप अपने आश्रित संसाधन में मध्यस्थता पेश करते हैं, आपको वास्तविक तेज़ी से पता चल जाएगा।

वर्चुअलाइजेशन की मांग करने वाले बहुत सारे बीन काउंटर यह पहचानने में विफल रहते हैं कि अतिथि ऑपरेटिंग सिस्टम के रूप में डेटाबेस सर्वर, अपनी समेकन परत प्रदान करते हैं। ऐसा कोई कारण नहीं है कि आप एक भौतिक सर्वर पर कई लॉजिकल डेटाबेस इंस्टेंस को एकजुट नहीं कर सकते हैं, यहां तक ​​कि आईपी पते को स्थानांतरित करने, अतिरिक्त होस्ट नामों आदि की स्थापना करने के लिए ..., सेवाओं की इस प्राकृतिक सहवास की अनुमति देने के लिए। और, इस मॉडल के साथ न केवल आप लागत बचत को बरकरार रखते हैं कि प्रबंधन कम से कम भौतिक मेजबानों के लिए दबाव डाल रहा है, लेकिन आप मनमाने ढंग से हाइपरवाइजर के प्रभाव के बिना भौतिक संसाधनों तक ब्लॉक पहुंच को बनाए रखते हैं, जो कभी-कभी फायदेमंद निर्णय ले सकता है और नहीं अन्य शामिल हैं।

यह जावा जैसे अन्य अतिथि ऑपरेटिंग सिस्टम के लिए भी सच है। वर्चुअलाइजेशन समाधान आम तौर पर व्यस्त वातावरण होते हैं और हाइपरवाइजर को संसाधन पर "टोकन प्राप्त करने" पर बहुत से निर्णय लेना पड़ता है। जब भी आप उस परत को खत्म कर सकते हैं तो आप बेहतर होने जा रहे हैं।

पहले प्राकृतिक अतिथि ऑपरेटिंग सिस्टम परत का उपयोग कर कई उदाहरणों को Coalesce। बाधाएं हैं कि आप अपने मंच समेकन और प्रदर्शन लक्ष्यों को आसान बनाने में सक्षम होंगे।


11
2017-09-01 18:01



"अतिथि ऑपरेटिंग सिस्टम" की दिलचस्प परिभाषा। जबकि आपका बिंदु शुद्ध, बिना किसी प्रदर्शन के संबंध में लिया जाता है, सीपीयू पर आपके डेटाबेस वास्तव में कितनी बार बाधा डालते हैं? I / O बहुत अधिक संभावना है, और उच्च प्रदर्शन अनुप्रयोगों के लिए आप SAN में पहले ही I / O समय साझा कर रहे हैं। मुझे उम्मीद है कि आप अपने वर्चुअलाइजेशन दर्शन पर पुनर्विचार करेंगे जब एक एप्लिकेशन के साथ एक सुरक्षा समस्या आपके सभी समेकित डेटाबेस के पासवर्ड हैश से समझौता करती है, या जब आपके JVM के भीतर चल रही एक प्रक्रिया उपलब्ध ढेर स्पेस के प्रत्येक बाइट का उपभोग करती है। - Shane Madden♦
स्पष्ट होने के लिए, मैं पूरी तरह से सहमत हूं कि एक बारीक ट्यून किए गए, बड़े पैमाने पर व्यस्त, उच्च प्रदर्शन डेटाबेस सर्वर का अपना भौतिक हार्डवेयर होना चाहिए। लेकिन वे मानक नहीं हैं, और वर्चुअलाइजेशन के अन्य लाभ प्रदर्शन हिट से अधिक होते हैं, जो अधिकांश वर्कलोड के साथ अलग नहीं है। - Shane Madden♦
मैं हमेशा मौजूदा समेकन परतों पर जाने के बारे में आपके बिंदु से असहमत हूं। कभी-कभी यह समझ में आता है। लेकिन उदाहरण के लिए, एक ओएस पर एकाधिक डेटाबेस को समेकित करने और एक हाइपरवाइजर के शीर्ष पर एकाधिक डेटाबेस / ओएस संयोजनों को समेकित करने के बीच संसाधनों को पुनर्व्यवस्थित करने में लागत व्यापार पर देखें। पहला अधिक कुशल है। दूसरा पुनर्वसन के लिए बहुत आसान है। नए होस्ट में माइग्रेटिंग और ओएस / डेटाबेस एक नए ओएस में डेटाबेस माइग्रेट करने से बहुत कम विघटनकारी है। - Jake Oshins
मेरी टिप्पणियां एक प्रदर्शन इंजीनियर के रूप में पिछले दशक में वर्चुअलाइजेशन समाधानों में सफल और असफल माइग्रेशन के प्रत्यक्ष क्षेत्र में अवलोकन से आती हैं। वहाँ बहुत सारे खराब डेटाबेस ऐप्स हैं जिनके हार्डवेयर मास्क प्रदर्शन मुद्दों के विशिष्ट उपयोग। वर्चुअलाइजेशन जोड़ें और ये समस्याएं प्रकाश में आती हैं। यदि आपके पास ऐसा ऐप है जो समय या ऑडिट उद्देश्यों के लिए सटीक घड़ी की मांग करता है, तो घड़ी वर्चुअलाइजेशन में घड़ी के साथ आप शिकार से बाहर हैं। - James Pulley
वाह, बस वाह वाह। मेरे पास आपके उत्तर और बाद की टिप्पणियों में किए गए सभी बिंदुओं को मिटाए जाने का समय और न ही धैर्य नहीं है, लेकिन मुझे लगा कि मुझे इस उत्तर पर होने वाले किसी भी व्यक्ति के लिए यहां एक टिप्पणी छोड़नी होगी। जेम्स के विचार अच्छी तरह से हैं, और खुद को वास्तव में संभव नहीं दर्शाते हैं। यदि आप तब सदस्यता ले चुके हैं बेशक आप खराब प्रदर्शन करने जा रहे हैं। तो ओवरसब्सक्राइब न करें। एक बहुत ही उच्च प्रदर्शन करने वाला वर्चुअलाइजेशन वातावरण होना पूरी तरह से संभव है। इसके खिलाफ एक कंबल सिफारिश करने के लिए मूर्खता है क्योंकि यह "खराब प्रदर्शन करता है"। - EEAA


यहां महसूस करने के लिए दो चीजें हैं:

  • हार्डवेयर की प्रति इकाई डीबी प्रदर्शन की इकाई वर्चुअलाइज्ड डीबी के लिए थोड़ा कम है। इसका मतलब है कि प्रदर्शन के समान स्तर प्राप्त करने के लिए आपको थोड़ा और हार्डवेयर खरीदने की आवश्यकता है।
  • इसका मतलब यह नहीं है कि समान स्तर या प्रदर्शन का वांछित स्तर अनुपयोगी है। बेहतर प्रबंधन और अन्य लाभों (जैसे आसान एचए) से आपको लाभ प्राप्त होता है मार्ग मामूली वृद्धि हुई हार्डवेयर लागतों को ऑफ़सेट करने से अधिक।

उस ने कहा, जहां मैं अपना एसक्यूएल सर्वर स्थापना करता हूं, केवल दो सर्वरों में से एक है कि मुझे जल्द ही किसी भी समय वर्चुअलाइज करने का कोई इरादा नहीं है (दूसरा प्राथमिक डीसी है)।


6
2017-09-01 15:11





एसक्यूएल सर्वर चलाना एक वीएम ठीक होगा, बशर्ते आप अपने आवेदन को चलाने के लिए वीएम को पर्याप्त संसाधन प्रदान कर सकें। यदि भौतिक दुनिया में आपको 24 कोर और 256 गीगा रैम की आवश्यकता है तो आपको आभासी दुनिया में 24 वीसीपीयू और 256 गीगा रैम प्रदान करने की आवश्यकता है।

मैं तो बस एक लेख लिखा था पिछले महीने SQL सर्वर पत्रिका VMware के vSphere के अंतर्गत SQL सर्वर चलाने के बारे में सब कुछ।


4
2017-09-02 00:26





मैं दो डेटाबेस, एक PostgreSQL और अन्य MySQL चलाता हूं, वर्चुअल वातावरण (ज़ेन) में जहां dom0s अत्यधिक उपलब्ध हैं। डोमू फाइल सिस्टम सभी एक आईएससीएसआई सैन लुन पर स्थित हैं, जो LVM2 लॉजिकल वॉल्यूम के साथ बना है। MySQL डेटाबेस पूरी तरह से कैक्टि के लिए है, और इसलिए बहुत अधिक उपयोग नहीं दिखता है, और iSCSI LUN पर भी स्थित है।

PostgreSQL डेटाबेस हमारे स्टेजिंग वातावरण के लिए डेटाबेस है, और इसलिए MySQL डीबी से उच्च उपयोग देखता है। इस कारण से, डेटाबेस स्थानीय RAID10 सेट पर स्थित है, और डीआरबीडी दूसरे क्लस्टर नोड को दोहराया गया है। हालांकि, असली लोड के संदर्भ में, इस स्टेजिंग डेटाबेस में बहुत अधिक भार नहीं दिखता है। जो, मेरी राय में, इसे आभासीकरण के लिए एक अच्छा / महान उम्मीदवार बनाता है।

हमारे संगठन के कुछ लाभ कम बिजली की खपत, बचाया रैक अंतरिक्ष, और कम हार्डवेयर प्रशासनिक उपरि है।

दूसरी ओर, हमारा मुख्य उत्पादन डेटाबेस, मैं वर्चुअल जा रहा कल्पना नहीं कर सकता ....


2
2017-09-01 19:00





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

हां, वीएम कुछ ओवरहेड लागत जोड़ता है और यदि आप एक ही बॉक्स पर एकाधिक वीएम होस्ट करने जा रहे हैं तो आपको एक अच्छा बीफ़ी सर्वर की आवश्यकता होगी। अतिरिक्त वीएम जोड़ने और उपलब्ध संसाधनों को पतला करने के लिए एक आम संसाधन समस्या है। कुछ विकास के लिए योजना बनाना आम बात है, लेकिन यदि आपने 2 या 3 वीएम होस्ट करने के लिए अपना सर्वर खरीदा है और अब यह 10 वीएम चल रहा है तो शायद आप एक प्रदर्शन हिट देखने जा रहे हैं।

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


2
2017-09-02 03:26