
نوشته اصلی توسط
astro.alireza
سلام
ایده جدید و خوبی هست اما با توجه به داکیومنتهای vmware مشکلاتی وجود داره
اگر شما توی بخش resource management مقدار reservation رو صفر گذاشته باشید (که حتما گذاشتید!)، موقع روشن شدن سرور مجازی، vmkernel به اندازه کل رم که ۴۸ گیگابایته فایل swap برای سرور مجازی ایجاد می کنه!
سرور شما شروع می کنه به استفاده از رم تا جایی که فضای خالی روی رم اصلی وجود داره اما همین که رم پر بشه vmkernel از فایل swap به جای رم استفاده می کنه.
مشکل این قضیه اینه که سرور مجازی فکر می کنه ۴۸ گیگ رم داره و اصلا متوجه نیست که همش داره swap می شه. سیستم عامل گول این ۴۸ گیگ رو می خوره و برای اینکه کارایی بالاتری داشته باشه شروع می کنه فایلهایی رو که بیشتر استفاده می شن رو روی رم لود می کنه و رم رو اسراف می کنه. این رو توی لینوکس می بینیم که با کش کردن رم رو پر می کنه. تو ویندوز هم چنین چیزی وجود داره. در ضمن سیستم عامل توی باز کردن فایلهای حجیم نگرانی از بابت رم نداره و همه اون رو لود می کنه توی رم. نتیجه این می شه که سرورهای مجازی خیلی بیشتر از میزان مورد نیازشون رم مصرف می کنند و رم شما خیلی سریعتر از حالت معمولی پر می شه و سرور رو به سمت swap کردن هدایت می کنه.
همین که سرور شما swap کردن رو شروع کنه هم سرعت سرورهای مجازی به خاطر استفاده از هارد به جای رم شدیدا افت می کنه (چون سرعت هارد پایین تر از رم هست) هم به خاطر I/O بالا به هارد، latancy هارد بالاتر می ره. نتیجه می شه سرورهای مجازی بسیار کند. عمر هارد هم کم می شه و احتمال fail کردنش بالا می ره.
با توجه به چیزی که گفتم لینوکس بدترین سیستم عامل برای سرورهای شما خواهد بود. دلیلش هم اینه که نسبت به ویندوز توی کش کردن فایل های توی رم قویتر عمل می کنه و سرورهای لینوکسی توی یه چشم به هم زدن کل رم ۴۸ گیگابایتی رو مصرف می کنند.
شما که دارید تست می کنید، پس لطف کنید تصاویر مربوط به مصرف رم رو از روی vcenter با جزییات کامل قرار بدید تا بتونیم روش بحث کنیم. البته به یوزرهاتون بگید تا سعی کنند به سرور فشار بیارن که نتایج کار مشخص باشه.
موفق باشید