VMware व्यवस्थापक के लिए हमारे आवेदन के लिए VMware के प्रदर्शन की आवश्यकताओं का वर्णन कैसे करें?


23

अक्सर, हमारे ऑन-साइट, डेबियन-स्थिर आधारित एप्लिकेशन की स्थापना वर्चुअल मशीन में चलती है - आमतौर पर वीएमवेयर ईएसएक्सआई में। सामान्य स्थिति में हमारे पास उनके वर्चुअलाइजेशन वातावरण में दृश्यता या प्रभाव नहीं होता है और उदाहरण के लिए VMware vCenter क्लाइंट या समकक्ष तक पहुंच नहीं है। मैं यहां VMware पर ध्यान केंद्रित करता हूं, क्योंकि अब तक हम सबसे आम हैं।

हम चाहेंगे:

  • किसी ग्राहक के VMware व्यवस्थापक को बताएं: आप हमारे एप्लिकेशन को अपने VMware ESX वातावरण में चला सकते हैं, जब तक कि यह प्रदर्शन मानदंड X, Y और Z से मिलता है।
  • यह निर्धारित करने में सक्षम हो कि क्या मानदंड एक्स, वाई और जेड वास्तव में लगातार मिलते हैं (जैसे कि अभी भी ), यहां तक ​​कि एक रनिंग सिस्टम पर भी (हम अपने एप्लिकेशन को रोक नहीं सकते हैं और बेंचमार्क नहीं चला सकते हैं, और एक प्रारंभिक बेंचमार्क पर्याप्त नहीं होगा, क्योंकि प्रदर्शन में आभासी वातावरण समय के साथ बदलते हैं)।
  • विश्वास रखें कि यदि मानदंड X, Y और Z मिलते हैं, तो हमारे पास संतोषजनक प्रदर्शन के साथ हमारे आवेदन को चलाने के लिए पर्याप्त आभासी HW संसाधन होंगे।

अब X, Y और Z क्या हैं?

हमने समय और फिर से देखा है, कि जब प्रदर्शन समस्याएं हैं, तो समस्या हमारे आवेदन के साथ नहीं है, लेकिन वर्चुअलाइजेशन वातावरण के साथ है। उदाहरण के लिए, एक अन्य वर्चुअल मशीन CPU, मेमोरी या SAN का उपयोग करती है, जिस पर डिस्क वास्तव में संग्रहित होती है, हमारे एप्लिकेशन के अलावा किसी अन्य चीज द्वारा भारी उपयोग प्राप्त करती है। वर्तमान में हमारे पास ऐसा कोई तरीका नहीं है जो साबित या अस्वीकृत हो।

सैद्धांतिक रूप से यह भी संभव हो सकता है कि कभी-कभी हमारा अनुप्रयोग धीमा होता है ... ;-)

वर्चुअल प्रदर्शन या हमारे अनुप्रयोग: कोई हमारे प्रदर्शन समस्याओं का मूल कारण कैसे निर्धारित करता है?

प्रदर्शन समस्याओं के लिए आमतौर पर 3 क्षेत्र हैं सीपीयू, मेमोरी और डिस्क आई / ओ।

सी पी यू

उदाहरण के लिए, वीएमवेयर में प्रशासक मेगाहर्ट्ज में व्यक्त किए गए आरक्षण और सीमा को निर्दिष्ट कर सकता है, लेकिन उदाहरण के लिए 512 मेगाहर्ट्ज एक ईएसएक्स होस्ट पर ठीक वैसा ही है जैसा किसी अन्य ईएसएक्स होस्ट पर 512 मेगाहर्ट्ज, संभवतः पूरी तरह से अलग ईएसएक्स क्लस्टर में?

और कैसे एक उपाय है कि क्या हम वास्तव में मिलता है? जब हमारा आवेदन चल रहा है, हम शायद देख सकते हैं कि हम 4 सीपीयू पर 212% सीपीयू उपयोग कर रहे हैं। क्या इसलिए कि हमारा एप्लिकेशन बहुत कुछ कर रहा है या क्योंकि एक ही होस्ट पर एक अन्य वीएम एक सीपीयू गहन कार्य चला रहा है और सभी सीपीयू का उपयोग कर रहा है?

मेमोरी (बैलूनिंग)

अगर हम उदाहरण के लिए 16GB RAM की मांग करते हैं, जो अक्सर कॉन्फ़िगर की जाती है, लेकिन गुब्बारे के कारण , हम वास्तव में केवल 4GB प्राप्त करते हैं, और आश्चर्य की बात है, हमारा आवेदन खराब प्रदर्शन करता है।

वीएमवेयर उपकरण को वर्तमान गुब्बारे के बारे में पूछ सकते हैं, लेकिन हमने पाया है कि यह अक्सर झूठ होता है (या कम से कम गलत है)। हमने ऐसे उदाहरण देखे हैं जहां OS को लगता है कि कुल 16GB RAM है, सभी प्रक्रियाओं की निवासी मेमोरी (RSS) का योग 4GB RAM है, लेकिन केवल 2GB RAM मुफ्त है, तब भी जब VMware उपकरण हमें बताते हैं कि 0 गुब्बारा है: - (

इसके अलावा, RSS को एक साथ जोड़ना मान्य नहीं है, क्योंकि आसानी से RAM साझा की जा सकती है, उदाहरण के लिए कॉपी-ऑन-राइट मेमोरी इसलिए 512MB + 512MB का मतलब 1GB नहीं है, लेकिन इसका मतलब कुछ कम हो सकता है। तो एक व्यक्ति को रैम को मुक्त करने के लिए सभी प्रक्रियाओं से बस आरएसएस को घटाया नहीं जा सकता है और कितना रैम मुक्त होना चाहिए और इसके लिए विश्वसनीय तरीके से गुब्बारे का पता लगाना चाहिए। एक गुब्बारे के कुछ मामलों का पता लगा सकता है, लेकिन ऐसे अन्य मामले हैं जहां गुब्बारा प्रभाव में है, लेकिन इस विधि द्वारा पता लगाने योग्य नहीं है।

डिस्क I / O

मुझे लगता है कि हम समय के साथ डिस्क पढ़ सकते हैं और लिख सकते हैं, बाइट्स की संख्या पढ़ी और लिखी गई है, और आईओ प्रतीक्षा%। लेकिन क्या यह हमें डिस्क I / O की सटीक तस्वीर देगा? मुझे लगता है कि अगर एक बिटकॉइन माइनर किसी अन्य वीएम में सभी सीपीयू का उपयोग करके चल रहा है, तो हमारा आईओ प्रतीक्षा% ऊपर जाएगा, भले ही अंतर्निहित सैन बिल्कुल समान प्रदर्शन देता है, बस इसलिए कि हमारे सीपीयू संसाधन नीचे जाते हैं, और इसलिए आईओ प्रतीक्षा करते हैं ( जो% म मापा जाता है ) ऊपर जाता है।

इसलिए सारांश में, हम एक VMware व्यवस्थापक का वर्णन करने के लिए किस भाषा का उपयोग कर सकते हैं, पोर्टेबल और औसत दर्जे के तरीके से हमें किस प्रदर्शन की आवश्यकता है?


आपके आवेदन की वास्तविक आवश्यकताएं क्या हैं? आपने अब तक जो वर्णन किया है, वह मेरे लिए पर्याप्त नहीं है कि मैं अपने वातावरण में संसाधनों की आवश्यकताओं को सही ढंग से समझ सकूं, और मैं VMware से वाकिफ हूं। आपके लक्षित दर्शकों के लिए और भी कठिन समय होगा। व्यवहार में, मैं विक्रेता की आवश्यकताओं की अवहेलना करता हूं और ऐतिहासिक मैट्रिक्स के आधार पर वीएमईलाइज़ ऑपरेशंस मैनेजर का उपयोग करके / राइट-साइज़िंग वीएम को मापता हूं।
इविहित

1
@ नया: मैं किसी भी तरह से हार्डवेयर विशेषज्ञ नहीं हूं। लेकिन मुझे विशिष्ट होने दें और कहें कि यह कोर i7-5820K पर 8GB रैम के साथ ठीक चलता है । चुंबकीय डिस्क ca. 2015 ठीक है, एसएसडी बेहतर है (यदि आवश्यक हो तो मैं यहां अधिक विशिष्ट हो सकता हूं)। हमें 80GB फ्री डिस्क स्पेस चाहिए।
पीटर वी। मॉर्क

2
एक व्यवस्थापक के रूप में, मैं कहूंगा, "मुझे कितने कोर आवंटित करने की आवश्यकता है, वास्तविक रैम की आवश्यकता क्या है, एक IOP और थ्रूपुट परिप्रेक्ष्य से भंडारण की आवश्यकता क्या है, भंडारण की वृद्धि दर क्या है, क्या मैं ठीक हूं पतली-प्रावधान के साथ, आदि? "
इविहित

प्रदर्शन के दृष्टिकोण से आपके आवेदन की क्या आवश्यकता है? क्या आपके पास अपने आवेदन के लिए बेंचमार्क हैं? कहना "It runs fine with x, y, and z"पर्याप्त सटीक नहीं है। आपको अपने ग्राहकों को ठीक-ठीक बताने में सक्षम होना चाहिए कि आपके आवेदन की क्या आवश्यकता है। यदि वे आपको वे संसाधन देते हैं और एप्लिकेशन खराब प्रदर्शन करता है तो सवाल यह नहीं है "What do we need from a resource perspective?", लेकिन"Why is it performing poorly even though the proper resources have been allocated?"
joeqwerty

1
@ नया: "हल"? नहीं, मेरे पास अभी भी 25-शब्द की कमी नहीं है जिसे मैं एक VMware व्यवस्थापक को दे सकता हूं, और फिर परीक्षण करने और यह जानने में सक्षम हो सकता हूं कि हमें अनुमानित प्रदर्शन मिलेगा, क्योंकि, जैसा कि आप जानते हैं, "यह निर्भर करता है"। लेकिन मैंने आपका उत्तर स्वीकार कर लिया है, क्योंकि मुझे लगता है कि ऐसी सटीक और औसत दर्जे की आवश्यकता संभव नहीं है और आपकी जानकारी उचित भाषा बोलने की दिशा में एक लंबा रास्ता तय करती है। भविष्य में, हम अनुशंसा करने जा रहे हैं कि हम "यदि आप हमें प्रदर्शन का निवारण करना चाहते हैं, तो हमें आपके vCenter" मार्ग पर कम से कम देखने की आवश्यकता होगी।
पीटर वी। मॉर्क

जवाबों:


23
  • गंभीरता से, अधिकांश VMware व्यवस्थापक इस पर अच्छे नहीं हैं: संसाधन प्रबंधन की खराब समझ, अक्सर कोई लिनक्स ज्ञान (यह मदद करता है) और समय बैंडविड्थ की कमी है। मुझे लगता है कि अधिकांश घर में प्रवेश करने में मुश्किल समय होता है जो कि गहन वर्चुअलाइजेशन ज्ञान को बनाए रखता है।

  • सौभाग्य से, वहाँ एक किताब आप पढ़ सकते हैं !

  • अधिकांश VMware वातावरण महान नहीं हैं: खराब क्लस्टर डिजाइन, खराब संसाधन नियोजन , घटिया भंडारण (यानी Synology NAS), गलत तरीके से HA, कोई निगरानी या पैचिंग नहीं।

  • एक संगठन के रूप में VMware हमें विफल करता है: वे विशेष रूप से अप-टू-डेट जानकारी का प्रसार करने और सर्वोत्तम प्रथाओं को बढ़ावा देने में खराब हैं। सामान्य प्रश्नों की मूल खोजें 2009 से परिणाम और VMware के पुराने संशोधन उत्पन्न करती हैं, इस तथ्य के बावजूद कि समय के साथ प्रक्रियाएं और डिजाइन बदल गए हैं।

ये सभी चीजें आपके खिलाफ काम करेंगी।

आपको अपने समाधान की वास्तविक आवश्यकताओं का निर्धारण करना चाहिए। आपके उपकरण की आवश्यकता है कि सटीक रूप से यह बताने में सक्षम होने के कारण: 2 vCPU, 8GB RAM और 500 IOPs भंडारण प्रदर्शन मेरे जैसे किसी व्यक्ति के लिए एक लंबा रास्ता तय करेगा।

अन्य दृष्टिकोण एक स्वस्थ या आदर्श वातावरण का निरीक्षण करना और वहां से मैट्रिक्स को एक्सट्रपलेशन करना है।

आपने कुछ परिनियोजन के साथ समस्याओं का वर्णन किया है। मुद्दे और अड़चनें क्या थीं?


सही आकार के VM का एक उदाहरण:

300-उपयोगकर्ता संगठन के लिए एक एक्सचेंज सर्वर।

  • हमारे पास 6 सप्ताह का वर्कलोड / तनाव हीटमैप बनाम समय है।
  • 6 वीसीपीयू हमें स्पाइक्स के लिए बफर रूम के साथ तनाव क्षेत्र से ऊपर रखते हैं।
  • 32 जीबी रैम हमें स्ट्रेस वैल्यू से ऊपर रखता है, लेकिन वास्तव में जिस चीज की जरूरत है, उसके ऊपर कोई अनुचित राशि नहीं है।

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

  • मैं कुछ जीबी रैम और एक वीसीपीयू को पुनः प्राप्त कर सकता था, लेकिन सभी में, यह एक कुशल वीएम है।
  • आदर्श परिस्थितियों में अपने आवेदन की इस प्रकार की निगरानी प्राप्त करना बुद्धिमानी होगी।

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


वीएम संसाधन निगरानी के उदाहरण।

गुड-ईश: - वीएम सही आकार का है। - सीपीयू क्लस्टर भर में overcommitted है, लेकिन हम विवाद में नहीं चल रहे हैं।

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

बुरा-ish:

  • VM कभी भी उस सभी रैम को प्राप्त नहीं करेगा जिसके साथ इसे कॉन्फ़िगर किया गया है।
  • VM पहले से ही रैम स्वैप कर रहा है।
  • सीपीयू ओवर-कॉन्फ़िगर है।

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


2
धन्यवाद, आपके उत्तर के लिए ewwhite। तर्क के लिए, हम कहते हैं कि एक ग्राहक पर, यह 2 vCPU, 8GB RAM और 500 IOPs संग्रहण प्रदर्शन (आपके उत्तर से) के साथ बहुत अच्छा चलता है। VMware व्यवस्थापक के अनुसार, एक अन्य ग्राहक साइट पर, हम एक ही चीज़ के लिए पूछते हैं और प्राप्त करते हैं। हालाँकि, 2vCPU को 17 अन्य CPU भूखे VMs के साथ साझा किया गया है और 8GB रैम भी गुब्बारा है। मुझे समझ नहीं आ रहा है कि वीएम डिस्क बहुत अच्छी तरह से है, इसलिए हम वास्तव में इसे प्राप्त करने की अनुमति देते हैं। हमारा ऐप इन दो ईएसएक्सआई वातावरणों में से पहला, और दूसरे में बहुत अच्छा प्रदर्शन करता है। मैं कैसे मापता हूं कि वीएम के अंदर से अंतर?
पीटर वी। मॉर्क

1
आप अपने वीएम के ऊपर " सीपीयू चोरी " की निगरानी कर सकते हैं यह देखने के लिए कि क्या सीपीयू बहुत भारी हो चुका है। RAM बैलूनिंग / स्वैपिंग के लिए, VM के अंदर से खराब प्रदर्शन को छोड़कर, यह बताना कठिन है। आप VM के लिए vCenter और संसाधनों का एक दृश्य के लिए पूछ सकते हैं, यद्यपि। उदाहरण के लिए ऊपर देखें।
इविहित

1
मैं सीपीयू चोरी में देखूंगा। हम कभी-कभी VMware व्यवस्थापक के साथ हमारे आवेदन पर उंगलियों की ओर इशारा करते हैं और हमें धीमी VMware वातावरण में उंगलियों की ओर इशारा करते हैं। हालाँकि, हम ज्यादातर अक्सर vSphere तक पहुंच भी नहीं देख पाते हैं और तब यह समस्या निवारण के लिए कठिन हो जाता है, जब यह अन्य स्थापनाओं में ठीक काम करता है। मुझे लगता है कि एक दृष्टिकोण यह हो सकता है: "यदि आप चाहते हैं कि हम प्रदर्शन का निवारण करें, तो हमें कम से कम आपके vCenter तक पहुँच की आवश्यकता होगी"
पीटर वी। मॉरच

3
अधिकांश VMware व्यवस्थापक भी इन चीजों को पढ़ना नहीं जानते हैं। मैं उनके बाद सफाई करने में बहुत समय लगाता हूं। इसलिए एक विक्रेता के रूप में, उनके सेटअप में पहुंच या जानकारी मांगना कठिन है। लेकिन मुझे लगता है कि अपनी आवश्यकताओं को फिर से लागू करना सबसे अच्छा होगा। हालांकि मैं आमतौर पर आरक्षण की सिफारिश नहीं करता, अगर आपका आवेदन महत्वपूर्ण है तो यह समझ में आ सकता है। या बहुत कम से कम, "शेयर प्राथमिकता" की स्थापना। आवेदन क्या करता है?
ewwhite

1
क्या आप लोगों ने इसे एक छोटे, मध्यम और बड़े अनुशंसित कॉन्फ़िगरेशन वाले VMware उपकरण के रूप में वितरित करने पर विचार किया है?
ewwhite
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.