خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


متریک های CPU برای مانیتورینگ در vmware

متریک های CPU برای مانیتورینگ در vmware
در اکثر محیط ‌ها، ESXi سطوح قابل توجهی از CPU overcommitment را بدون تأثیرگذاری بر performance ماشین مجازی، اجازه می‌دهد.

نرم افزار سامانه مودیان راهکار
در این پست در مورد محاسبه منابع CPU، ملاحظات در تخصیص منابع به ماشین‌های مجازی (VM) و متریک هایی که باید مانیتور شوند تا اطمینان حاصل شود که CPU overcommitment بر performance ماشین های مجازی تأثیر نمی‌گذارد، صحبت خواهیم کرد.



محاسبه available Host CPU در Esxi

تعداد هسته های فیزیکی (pCPU) موجود بر روی هاست به صورت زیر محاسبه می شود:

(# Processor Sockets) X (# Cores/Processor)  = # Physical Processors (pCPU)

اگر hyperthreading را دربایوس فعال کرده باشید، بصورت همزمان در یک Core فیزیکی CPU دو رشته یا Thread می تواند وارد شود و این از نگاه سیستم عامل دو CPU است. پس یک Core فیزیکی به دو Logical Core تقسیم می شود.

ملاحظات در تخصیص vCPU به VMها


با یک vCPU برای هر VM شروع کنید و در صورت نیاز، VCPU بیشتر به VM تخصیص دهید.

بیشتر از مقدار مورد نیاز vCPU را به یک VM اختصاص ندهید زیرا این امر می تواند به طور غیرضروری در دسترس بودن منابع را برای VM های دیگر محدود کرده و زمان انتظار CPU Ready را افزایش دهد.

مقدار دقیق CPU overcommitment که یک هاست ESXI می تواند بپذیرد، به VM ها و اپلیکیشن هایی که در حال اجرا هستند بستگی دارد.


Co-stop

سیستم عامل در یک VM به پیشرفت همزمان در تمام vCPU های آن نیاز دارد. به منظور پیگیری همزمانی vCPU های اختصاص داده شده به یک VM، هایپروایزر تفاوت پیشرفت را برای هر vCPU اختصاص داده شده به VM پیگیری می کند - این تفاوت در پیشرفت "Skew" نامیده می شود. مقادیر Skew که بیش از حد بالا هستند (معمولاً بیش از چند میلی ثانیه) نشان می دهد که VM قادر به دسترسی همزمان به همه پردازنده های خود نیست.
نسخه‌های قبلی VMware (ESX2.x) از «strict co-scheduling» استفاده می‌کردند. strict co-scheduling یک مقدار cumulative skew را روی تمام vCPU های VM دنبال می کرد و اگر بیش از یک حدی بود، VM را در حالت "co-stop" قرار می داد که VM را متوقف می کرد تا زمانی که CPU های فیزیکی کافی وجود داشته باشد تا بتواند این کار را انجام دهد.
تمام vCPU های VM را به طور همزمان schedule و برنامه ریزی کنید. از آنجایی که ماشین مجازی متوقف شده یا co-stop شده باید منتظر می ماند تا پردازنده های فیزیکی کافی برای تطبیق با تمام پردازنده های مجازی خود در دسترس باشد، strict co-scheduling می تواند منجر به delay در زمان بندی و idle بودن CPU های فیزیکی شود.
در Esx3، relaxed co-scheduling جایگزین Strict co-scheduling شد. در Relaxed co-scheduling به جای مدنظر داشتن مقادیر cumulative skew، نگاه به سمت skew به ازای هر vcpu رفت. حالا اگر vCPU بیش از vCPU دیگر سایر vCPU های ماشین مجازی پردازش انجام دهد، skew افزایش می یابد و این افزایش skew مربوط به آن vcpu منجبر co-stop شدنش می شود تا پردازش به دست آنها هم برسد(جانب انصاف رعایت شود). بدین ترتیب Vcpu ای که co-stop شده بود، با available شدن cpu فیزیکی خود co-start می کند.
Relaxed co-scheduling پیشرفت های قابل توجهی را در زمینه CPU utilization بوجود آورد و مقیاس ماشین های مجازی را تا تعداد زیادی پردازنده بسیار آسان تر کرد. با این حال، vCPU ها همچنان می توانند در حالت co-stop قرار بگیرند و اندازه یک VM برای استفاده از حداقل تعداد vCPU های مورد نیاز، احتمال vCPU های co-stop شده را کاهش می دهد.

مانیتورینگ بر متریک های CPU در vmware

متریک زیر را برای تنظیم دقیق تعداد vCPU های اختصاص داده شده به هر VM و اطمینان از اینکه CPU overcommitment باعث کاهش performance نمی شود، مانیتور کنید:

VM CPU Utilization

مانیتور CPU Utilization توسط VM برای تعیین اینکه آیا vCPU های بیشتر مورد نیاز بوده یا تعداد زیادی تخصیص داده شده ، می باشد. CPU Utilization یا میزان استفاده از CPU را از طریق vcenter و یا دستور مانیتور کرد.
Utilization عموماً باید کمتر از 80 درصد باشد و برای استفاده بیشتر باید alert تعریف کنید.

VM CPU Ready

در خصوص VM CPU Ready می توانید به این لینک مراجعه کنید. توصیه بر این شده که درصد CPU ready که باید کوچکتر مساوی 5 درصد باید باشد.

Co-Stop

قابل استفاده برای ماشین های مجازی می باشد که دارای چندین vcpu هستند. اندازه گیری ldchk زمان پس از در دسترس قرار گرفتن اولین vCPU تا زمانی که vCPU های باقی مانده VM برای اجرا در دسترس باشند. اگر درصد co-stop مدام بیش از 3 درصد است اصلا چیز جالبی نیست.

متریک های CPU برای مانیتورینگ در vmware

VMware host CPU Utilization

مانیتورینگ CPU Utilization در هاست برای تعیین این است که آیا استفاده از CPU توسط VMها به حداکثر ظرفیت CPU نزدیک شده یا خیر. اگر استفاده از cpu به بیش از 80 درصد رسیده، یعنی زنگ خطر به صدا درآمده و این سطح warning است و اگر به بیش از 90 درصد رسید، نشان دهنده این است که cpu در وضعیت overload است.

Summary

CPU overcommitment به شما امکان می دهد استفاده از منابع CPU هاست را به حداکثر برسانید ولی برای هاست های overcommitment شده، CPU Utilization یا cpu use، و درصدهای CPU Ready، Co-stop را مانیتور کنید.

بی جهت به vm ها vCPU تخصیص ندهید الزاما اینکار performance ماشین مجازی را افزایش نمی دهد که بسیاری موارد افت Performance را شاهد خواهید بود. ضمن اینکه اگر vm هایی دارید که در وضعیت idle هستند آنها را خاموش کنید چرا که منجر به افزایش cpu ready خواهند شد.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز