सर्वोत्तम अभ्यास: भौतिक मूल प्रति vCPUs


27

मैं वर्चुअलाइजेशन के लिए वर्चुअलाइजेशन के लिए कुछ प्रलेखन या सर्वोत्तम प्रैक्टिस गाइड खोजने की कोशिश कर रहा हूं, जिसमें फिजिकल कोर (सीपीयू का) प्रति vCPUs शामिल हो। यदि यह मायने रखता है, तो मैं वर्चुअलाइजेशन कार्यान्वयन के लिए vmWare को देख रहा हूं। उदाहरण के लिए, Intel Xeon CPU में 4, 8, आदि कोर हो सकते हैं। मैं एक भौतिक कोर प्रति केवल एक vCPU से परे प्रावधान के बारे में अधिक जानने में रुचि रखता हूं। मैं जिस विक्रेता से बात कर रहा हूं वह निश्चित रूप से सोचता है कि एक एकल कोर को कई वीसीपीयू में प्रावधान किया जा सकता है।

आमतौर पर मैं अपने शोध में जो कुछ भी देखता हूं वह है, "ठीक है, यह आपके आवेदन पर निर्भर करता है।" और उस स्थिति में, मेरा आवेदन कोड संपादन, संकलन / लिंकिंग, परीक्षण और कॉन्फ़िगरेशन प्रबंधन है। बेशक, सभी वीएम को प्रति कोर कई वीसीपीयू के साथ कॉन्फ़िगर करने की आवश्यकता नहीं है, लेकिन सामान्य स्थिति में।

जवाबों:


24

एक भौतिक सीपीयू को कई वीसीपीयू के रूप में उपयोग किया जा सकता है। आप शायद ही कभी वर्चुअलाइजेशन समाधान में सीपीयू संसाधनों से बाहर निकलते हैं। रैम और स्टोरेज हमेशा सीमित कारक होते हैं ...

याद रखें, VMware में, CPU उपयोग का उपयोग मेगाहर्ट्ज में किया जाता है, कोर नहीं ... जब तक कि आप अपने सभी वर्चुअल CPU को 100% सभी समय पर प्राप्त नहीं कर रहे हों , मुझे नहीं लगता कि आपका विक्रेता सही है।

आइए सिस्टम के निम्नलिखित क्लस्टर को देखें ...

  • 9 ईएसएक्सआई होस्ट करता है।
  • 160 वर्चुअल मशीनें
  • क्लस्टर भर में 104 भौतिक सीपीयू कोर।
  • औसत वर्चुअल मशीन प्रोफाइल है: 4 vCPU और 4GB से 18GB RAM।
  • सीपीयू को सुरक्षित रूप से देखा जा सकता है ... लेकिन याद रखें, यह वीएम स्तर पर सीमित, आरक्षित और प्राथमिकता वाला भी हो सकता है।

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

एक अन्य सक्रिय क्लस्टर से - 3 42 आभासी मशीनों की मेजबानी करता है यहाँ छवि विवरण दर्ज करें


4
3936 vMotion माइग्रेशन देखने के बाद मैं अपने 1200 के बारे में बहुत बुरा नहीं लग रहा है
मार्क हेंडरसन

2
मैं कल हमारे वीएम क्लस्टर पर आँकड़ों को देख रहा था जो @ewwhite द्वारा दिए गए आंकड़ों को सहन करते हैं। हमारे पास 3 होस्ट हैं, कुल 24 प्रोसेसर और 55 गीगाहर्ट्ज़। हमारे पास 59 वीएम हैं जिनमें कुल 79 वीसीपीयू आवंटित हैं। VSphere के आँकड़ों के अनुसार, पिछले 6 महीनों में, हमने 14 GHz इस्तेमाल किए गए (न्यूनतम 9 गीगाहर्ट्ज़, अधिकतम 25 गीगाहर्ट्ज़) पर थोड़ा सा औसत किया है, और उस समय के दौरान 0 सीपीयू कोर काउंट कॉन्ट्रेशन था।
पॉल गियर

7

Ewwhite के राइट-अप पर विस्तार करने के लिए, जब तक कि आपके पास ऐसे एप्लिकेशन न हों जो स्पष्ट रूप से एकाधिक vCPU का लाभ उठा सकते हैं, या प्रति vCPU एकाधिक कोर का उपयोग कर सकते हैं, VM को एकाधिक vCPUs / कोर आवंटित करने में बिल्कुल शून्य लाभ है। वास्तव में, अधिक बार आप वास्तव में कम प्रदर्शन के साथ समाप्त नहीं होंगे क्योंकि एक एकल वीसीपीयू पर चलने का विरोध किया जाता है, जिसमें एक कोर इसे सौंपा गया है, क्योंकि कई वीसीपीयू को चलाने के लिए शेड्यूलिंग ओवरहेड की आवश्यकता होती है।

FWIW, VDI सेटिंग में अक्सर उद्धृत संख्या 5 vCPUs प्रति भौतिक कोर है। बेशक वह कार्यालय के काम के डेस्कटॉप को ध्यान में रख रहा है। यदि आपके वीएम वास्तव में हर समय कोड को संकलित करने में व्यस्त हैं, तो आप प्रति भौतिक कोर में 5 वीसीपीयू फिट करने में सक्षम नहीं हो सकते हैं।

इतने सारे लोगों का कारण यह है कि "यह निर्भर करता है" क्योंकि यह वास्तव में करता है। अपने CPU तैयार मूल्यों को देखें और फिर तय करें कि क्या आप किसी विशेष सिस्टम पर अधिक सीपीयू लोड डाल सकते हैं। सीपीयू रेडी vCPU का एक माप है जो कमांड को निष्पादित करने के लिए तैयार है लेकिन इसे उपलब्ध होने के लिए भौतिक CPU समय की प्रतीक्षा करनी होगी।

आपके मामले में, यदि आप बड़े कार्यक्रमों का संकलन कर रहे हैं, तो यह पूरी तरह से संभव है कि आपके वीएम को वास्तव में बहुत अधिक सीपीयू समय की आवश्यकता होगी। जैसा कि उल्लेख किया गया है, आमतौर पर वर्चुअलाइजेशन में डिस्क I / O होने की संभावना होती है और RAM CPU के बजाय विवश होता है।


13
absolutely zero benefit in allocating multiple vCPUs/cores to a VM- पूरी तरह से सही नहीं है। हमारे पास एक एकल-थ्रेडेड एप्लिकेशन है जो साप्ताहिक आधार पर लटका हुआ था। जब एक एकल वीसीपीयू 100% पर था, तो उस प्रणाली को प्राप्त करना असंभव था और हमें वीएम का एक हाइपरविजर स्तर रीसेट करना पड़ा। हमने एक दूसरा वीसीपीयू जोड़ा और जब ऐप को लटका दिया, तो हम आसानी से अंदर जा सकते हैं और आपत्तिजनक धागे को मार सकते हैं। यह एक किनारे का मामला सच है, लेकिन आप निरपेक्षता में कभी नहीं निपट सकते।
मार्क हेंडरसन

4
मार्क ने क्या लिखा है यही कारण है कि हम हर वीएम के लिए निचली सीमा के रूप में दो कोर का उपयोग करते हैं - कोई फर्क नहीं पड़ता कि उन्हें इसकी आवश्यकता है या नहीं।
निल्स

2
तैयार मूल्य यह बताने का सबसे अच्छा तरीका है कि क्या आप अपने मेजबान का प्रावधान कर रहे हैं, तो आपका तैयार मूल्य यथासंभव कम होना चाहिए। यह एक CPU चक्र का उपयोग करने के लिए एक वीएम "तैयार" होने का समय का% है, लेकिन इंतजार करना पड़ता है क्योंकि सीपीयू किसी अन्य कार्य में व्यस्त है। यह बताने के लिए कि आपके vm को कई कोर देने के कारण प्रदर्शन पर प्रभाव पड़ सकता है, मैं एक सरल उदाहरण का उपयोग करूंगा: यदि मेरे पास 4 भौतिक कोर हैं, और 4vms हैं, यदि आपके पास 2 VM के साथ 3 VMs हैं और 4 कोर के साथ एक vm है, तो आपका छोटा VM सक्रिय रूप से प्राप्त करेगा अधिक चक्र, क्योंकि वे गुणकों में बेहतर "फिट" कर सकते हैं। Vcpus के साथ जितना संभव हो सके रूढ़िवादी जाओ!
रिकीमे

@MarkHenderson मैं देख सकता हूं कि यह कैसे फायदेमंद हो सकता है और ऐसा कुछ संभावित रूप से उस व्यक्ति के साथ हो सकता है जिसने प्रश्न पूछा था क्योंकि वह कंपाइलर के साथ काम करता है।
रियलिटी एक्सट्रैक्टर

@ मेरा मानना ​​है कि प्रत्येक वीएम 2 कोर देना, इसके लिए एक व्यवसाय की आवश्यकता है या नहीं यह वास्तव में एक बुरा विचार है। यह आपको इतने तरीकों से आसानी से नकारात्मक रूप से प्रभावित कर सकता है, स्लॉट का आकार, पुनः आरंभ करने / असफल होने के लिए पर्याप्त कोर उपलब्ध नहीं है, जो कि रकॉमी ने लिखा, केवल अनगिनत अन्य चीजों के कारण प्रदर्शन खो गया। आप बहुत अधिक हमेशा अपने VM में vCenter और DCUI के माध्यम से प्रवेश कर सकते हैं।
रियलिटी एक्सट्रैक्टर

3

अंतर्निहित समस्या मूल रूप से भौतिक प्रणाली पर प्रक्रिया-निर्धारण के साथ ही है। जब तक सिस्टम लोड कोर (या यहां तक ​​कि तार्किक प्रोसेसर की संख्या के नीचे है, हाइपरथ्रेडिंग के मामले में) सभी अच्छी तरह से है और प्रोसेसर लोड को संभाल सकते हैं।

इसलिए जब तक सभी इस्तेमाल किए गए वीसीपीयू पर समवर्ती भार उस भार से अधिक नहीं होता जिसे आपके भौतिक कोर द्वारा नियंत्रित किया जा सकता है, तब तक सब ठीक है।

अपनी मांगों के लिए केवल संकलन एक CPU-intesive कार्य है, जिसे केवल समय-समय पर आवश्यक है। कंपाइलर-वीएम के लिए हम उपलब्ध जितने सीपीयू आवंटित करते हैं। इसलिए यदि संकलन करने की आवश्यकता है, तो इसे यथासंभव तेजी से किया जाएगा (यदि आपका कंपाइलर पैरेलल संकलन का समर्थन करता है)।

यह एक कंपाइलर-वीएम के लिए सही नहीं हो सकता है जो निरंतर लोड के तहत होता है (जैसे कि यदि आप कंपाइल बनाने के लिए इंटरनेट-सेवा प्रदान करते हैं और जिसका लगातार उपयोग किया जा रहा है)।


2

अंगूठे का एक नियम जो मैंने देखा है (संभवतः वीएमवेयर के प्रलेखन में) मेजबान को शारीरिक रूप से मौजूद वीएम से अधिक कोर आवंटित नहीं करना है, क्योंकि इससे कई कोर के एक ही कोर पर उत्सर्जित होने का कारण बनता है, अनावश्यक ओवरहेड जोड़ देगा।


1
रिवर्स के बारे में क्या? क्या होगा अगर मेरे पास 6-कोर एक्सोन है और मैं केवल वीएम में 4 कोर आवंटित करता हूं? तब क्या प्रदर्शन होगा? क्या वीएम सिस्टम सभी 6 भौतिक कोर से बिजली काट सकेगा या यह 4 तक सीमित रहेगा?
ओवरमाइंड

यदि आप इसे केवल 4 कोर देते हैं, तो एक समय में केवल 4 कोर तक ही पहुंच होगी। लेकिन मेरी समझ (पुष्टि नहीं) यह है कि उन 4 आभासी कोर को 6 भौतिक कोर में से किसी भी 4 पर आवंटित किया जा सकता है, जब तक कि आपने पिनिंग कॉन्फ़िगर नहीं किया है।
पॉल गियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.