نکات طراحی وب سایت

آموزش و نکات طراحی وب سایت

نکات طراحی وب سایت

آموزش و نکات طراحی وب سایت

چرا نباید سرورهای HPE DL580 بخریم؟!

یکی از فاکتورهای تعیین کننده تعیین توان پردازشی یک سرور تعداد سوکت های پردازنده قابل استفاده در آن است. زمانی که دو سرور پردازنده های مشابهی داشته باشند، سروری که  سوکت های پردازنده بیشتری داشته باشد می تواند توان پردازشی بیشتری را ارائه کند، از Workload های بزرگتر پشتیبانی کند و تعداد VM های بیشتری را میزبانی کند. به طور معمول با افزایش تعداد سوکت های پردازنده یک سرور تعداد ماژول های RAM بیشتری در دسترس خواهد بود و قطعات مشترک کمتری نیز استفاده می شود (مانند مادربورد، هارد و…) و می توان در فضای کمتری به توان پردازشی بالاتری دست پیدا کرد، به همین دلیل معمولا سرورها در انواع مختلفی از نظر تعداد پردازنده قابل پشتیبانی به بازار عرضه می شوند و انتخاب پلتفورم و تعداد پردازنده به عهده خریدار گذاشته می شود. به طور مثال شرکت HPE سرورهایی با یک، دو و چهار پردازنده تولید می کند. سرور های DL325 G10 با یک سوکت پردازنده، سرورهای DL360 و DL380 با دو عدد پردازنده، سرورهای DL560 و DL580 با چهار پردازنده از انواع مدل هایی هستند که در نسل 10 سرورهای HPE قابل خریداری هستند. جالب است بدانید در نسل هفتم سرورهای DL780 با هشت عدد پردازنده نیز به فروش می رسید که با توجه به استقبال کم از این نوع از سرورها تولید آن ها در نسل های بعدی متوقف گردید.

خریداران سرور قدرت انتخاب بالایی در خرید انواع پلتفورم های پردازشی دارند اما بازار فروش سرورها با استقبال یکسان خریداران از تمامی پلتفورم ها مواجه نشده است، بر اساس مطالعه انجام شده توسط IDC در کشورهای آمریکا و کانادا میزان فروش سرورهای 4 و 8 سوکت تنها 5.1 درصد از کل سرورهای فروخته شده در سال 2019 بوده است، در همین شرایط میزان فروش سرورهای با 2 سوکت پردازنده 81.8 درصد کل فروش انجام شده بوده است. آمار فوق مشخص کننده عدم استقبال مصرف کنندگان از سرورهای با تعداد سوکت بالا است، اما دلایل این عدم استقبال چیست؟ چه مزایا و معایبی باعث می شوند دیتاسنترهای کمتری از سرورهای 4 سوکت استفاده کنند؟

 

مزایای سرورهای با 4 سوکت پردازنده:

1.کارایی بالا برای نرم افزارهای SMP

در بسیاری از معماری های نرم افزاری به خصوص معماری های Monolithic امکان جداسازی و خرد کردن فعالیت های نرم افزار به گونه ای که از توانایی چندین سرور بهره مند شوند وجود ندارد و لذا در این نوع از نرم افزارها ترجیح بر Scale-UP منابع پردازشی سرور است. بسیاری از نرم افزارهای ERP قدیمی، نرم افزارهای پردازش OLTP و برخی از دیتابیس های رابطه ای این نوع از بار پردازشی را به سرور تحمیل می کنند و سرورهای 4 سوکت یا سرورهای خانواده SuperDome انتخاب مناسبی برای این نوع از پردازش هستند.

2.عدم نیاز به ارتباطات شبکه پیچیده

زمانی که بار پردازشی سرورها Scale-Out می شود نیاز است ارتباطات بخش های مختلف نرم افزار به گونه دیگری تامین شود. برای این نوع از کاربردها شبکه های TCP/IP تا 100 Gbps و شبکه های InfiniBand تا 40 Gbps به وجود آمده اند. همچنین انواع تکنولوژی هایی که در ارتباطات با پهنای باند بالا و تاخیر کم مابین سرورها بکارگرفته می شوند ( مانند RDMA و RoCE ) نیز تجاری سازی شده و برای کسب و کارها قابل دسترسی هستند.

اما با این وجود برقراری ارتباطات شبکه علاوه بر هزینه های مرتبط با کابل کشی، سوئیچینگ و روتینگ، کارت های شبکه خاص، ماژول های SFP خاص و هزینه های عملیاتی بالا معمولا منجر به افزایش پیچیدگی در طراحی و نگهداری شبکه می شود، همچنین افزایش ترافیک East-West موضوع دیگری است که باید در طراحی ها و خرید تجهیزات این نوع مراکز داده لحاظ شود. در صورتی که بار کاری یک نرم افزار قابلیت پردازش در یک سرور 4 سوکت را داشته باشد و امکان پخش کردن این نیاز پردازشی بین چندین سرور وجود نداشته باشد، یکی از راه حل های نجات بخش می تواند استفاده از سرورهای 4 سوکت باشد. بدین صورت ارتباطات شبکه ای با ارتباطات مابین ماژول های RAM درون سرور جایگزین می شود و لینک های UPI/QPI بین پردازنده های بیشتر مورد استفاده قرار می گیرند.

3.کاهش هزینه های تهیه لایسنس

در نرم افزارهایی که مدل تهیه لایسنس آن ها بر اساس Node یا Instance یا سرور باشد، معمولا هزینه تهیه لایسنس کمتر است. در سرورهای با قدرت پردازشی بالا نسبت به توزیع نرم افزار بر روی چندین سرور ضعیف تر باید تعداد کمتری لایسنس تهیه کرد که این مورد باعث صرفه جویی در هزینه ها می شود. همچنین زمانی که تعداد سرورها کاسته شود هزینه های لایسنس BMC (لایسنس چیپ مدیریت از راه دور سرور) و لایسنس Raid Controller نیز به همان نسبت کاهش خواهند داشت.

4.افزایش تعداد کارت های PCI-E قابل نصب (I/O یا گرافیک)

در سرورهای با 4 سوکت پردازنده معمولا تعداد PCI-E Lane بیشتری توسط پردازنده ها پشتیبانی می شود و امکان نصب کارت های توسعه بیشتری وجود دارد. این مورد زمانی که نیاز به نصب چندین کارت گرافیک وجود داشته باشد یا تعداد I/O card های زیادی مورد نیاز باشد بسیار کاربردی است. سرورهایی که ارتباطات شبکه ای زیادی دارند، سرورهایی که به عنوان استوریج استفاده می شوند و سرورهایی که تعداد زیادی کارت گرافیک برای پردازش های یادگیری ماشینی دارند از نمونه کاربردهای سرورهای با تعداد زیاد PCI-E Lane محسوب می شوند.

5.کاهش هزینه های مشترک در سرورها و هزینه انرژی

زمانی که یک سرور با 4 سوکت پردازنده به عنوان جایگزین دو عدد سرور 2 سوکت پردازنده تهیه شود برخی از هزینه های جانبی که معمولا باید به ازای هر سرور انجام شود کاهش می باید. به طور مثال به جای دو عدد Rail Kit یک عدد می توان تهیه کرد، تعداد مادربورد ها به یک عدد کاهش می یابد، تعداد چیپ های BMC مثل ILO,IPMI,IDRAC کاهش می باید، تعداد چیپ PCH ( معادل کارکرد پل جنوبی در سرور های قدیمی ) کاسته می شود، تعداد PSU مورد نیاز در سرور می تواند به انتخاب کاربر از 4 عدد به 2 عدد کاسته شود و در نهایت تعداد Boot Drive های کمتری مورد نیاز است. با کاهش تعداد قطعات و افزایش راندمان سرورها میزان مصرف برق آن ها کاهش یافته و میزان توان خنک سازی مورد نیاز نیز کاهش می یابد لذا مصرف انرژی کلی آن کاهش و مطلوبیت PUE دیتاسنتر افزایش می یابد.

معایب سرورهای با 4 سوکت پردازنده:

1.به وجود آمدن گلوگاه در ارتباط بین پردازنده ها

لینک مابین پردازنده ها که به آن QPI یا در نسل های جدید UPI می گویند می تواند در نرم افزارهایی که نیاز به استفاده از تمامی ظرفیت RAM سرور با کل پهنای باند دارند یا نیاز به استفاده از Cache پردازنده های دیگر دارند باعث کندی عملکرد سیستم شود. پهنای باند هر لینک UPI در نسل های مختلف پردازنده ها و سرور ها متقاوت است اما عددی مانند 20GB/s یا 10.4 GT/s را می توان به عنوان میانگین درنظر گرفت که این میزان در برخی از کاربردها می تواند باعث به وجود آمدن گلوگاهی در ارتباطات داخلی پردازنده ها شود. سفارش دهنده سرور نیز می تواند با انتخاب غلط پردازنده مورد نیاز خود باعث کاهش هر چه بیشتر کارایی سرور شود. به طور مثال پردازنده Platinum 8268 از 3 عدد لینک UPI پشتیبانی می کند اما پردازنده Gold 5222 از 2 لینک پشتیبانی می کند که این مسئله ممکن است باعث تشدید گلوگاه های سیستم شود.

2.به وجود آمدن کندی سرور ناشی از رعایت نکردن الزامات مرتبط با NUMA

در صورتی که سرور بدون استفاده از تکنولوژی مجازی سازی بکار گرفته شود سیستم عامل از وضعیت سخت افزار و شرایط Physical Proximity Domain های سیستم آگاه است، این مسئله به این معنی است که سیستم عامل محدوده NUMA کل سرور را به درستی MAP می کند. در سرورهایی که تکنولوژی مجازی سازی در آن ها پیاده سازی شده در صورت عدم آگاهی مدیر سیستم نسبت به رعایت روش های بهینه در تخصیص پردازنده و RAM سرور، این امر می تواند منجر به کاهش کارایی ماشین های مجازی شود به طوری که ماشین مجازی به اشتباه بر روی بیش از یک عدد NUMA PPD قرار گیرد و دسترسی به منابع سرور با کندی همراه شود. در چنین شرایطی میزان تاخیر دسترسی به منابع از نوع Ready Time بالا رفته و ماشین مجازی می بایست برای دسترسی به حافظه اصلی تخصیص یافته از Remote memory استفاده کند. همچنین در صورتی که یک VM اندازه ای بزرگتر از یک NUMA Node داشته باشد و پردازنده های سرور از انواع مدل های با 2 کانال UPI باشند، برخی از ارتباطات بین NUMA Node ها فاصله ای برابر با دو HOP خواهند داشت که این خود منجر به کاهش بسیار زیاد کارایی سرور و ماشین های مجازی می شود.

3.کند بودن پروسه بوت سیستم عامل

به طور کلی کامپیوترها و سرورها برای اطمینان از وضعیت سلامت سخت افزار ها پروسه ای به نام POST را از حافظه CMOS فراخوانی و اجرا می کنند. یکی از وظایف این پروسه چک کردن و MAP کردن RAM سرور است. زمانی که از سرورهای 4 سوکت استفاده شود معمولا حافظه اصلی بیشتری بر روی سرور قرار داده می شود لذا پروسه POST و به تبع آن Boot سیستم عامل ممکن است بسیار طولانی شود. این زمان در یک سرور DL580 G8 با 1/5 TB رم ممکن است تا 15 دقیقه زمان نیاز داشته باشد.

4.از دسترس خارج شدن میزان بیشتری از منابع در صورت خرابی سرور

توصیه کارشناسان مجازی سازی رویکرد Scale-out به جای Scale-up است، در زمان خرابی و از دسترس خارج شدن یک سرور میزان آسیب به پایداری و SLA سرویس ها به اندازه قدرت پردازش یک سرور است. استفاده از سرورهایی با 4 سوکت پردازنده باعث می شود که در زمان خرابی یا Down-Time بخش بزرگتری از منابع از دسترس خارج شوند. همچنین به علت چگالی بالاتر قطعات در سرورهای با 4 سوکت پردازنده معمولا این سرورها بیشتر در معرض آسیب سخت افزاری هستند، خنک سازی آن ها انرژی بیشتر طلب می کند و تعمیرات آن ها نیز مشکل تر است.

جالب است بدانید یکی از دلایلی که سرورهای با چهار سوکت پردازنده در چین و آسیا شرقی فروش بالایی ندارند عدد 4 است، نوع گویش و تلفظ عدد 4 در زبان چینی بسیار مشابه لغت “مرگ” است و به همین دلیل این عدد خوش یمن محسوب نمی شود. حتی در چین و کشورهایی که مقاصد مهاجرتی چینی ها هستند (مانند کانادا) ساختمان ها طبقه چهارم ندارند یا قیمت بسیار پایین تری دارند. در نقطه مقابل این مسئله فروش بالای سرورهای 8 سوکت در کشور چین است که یکی از دلایل این مسئله خوش یمن تلقی شدن عدد 8 در فرهنگ چین است.

با توجه به برشمردن مزایا و معایب سرورهای با تعداد سوکت بالا لازم است سرورهای تک سوکت را نیز بررسی کنیم. از مزایای این نوع از سرورها به خصوص سرورهای با پردازنده AMD می توان به موارد زیر اشاره کرد:

  • سرورهای با یک پردازنده AMD Epyc می توانند تا 64 نخ پردازشی را مهیا کنند که این میزان از توان پردازشی می تواند برای بسیاری از کاربردها کافی باشد.
  • این نوع از سرورها می تواند جایگزین مناسبی برای سرورهای با دو سوکت پردازنده ای هستند که به خوبی از منابع آن ها استفاده نمی شود و با خرید این نوع از سرورها می توان عملا Right sizing سرورها را انجام داد.
  • هزینه راه اندازی کلاستر و بهره مندی از تکنولوژی های مرتبط مانند HA/DRS/VSAN در این نوع از سرورها کمتر است.
  • در برخی شرایط و با تسلط به قوانین لایسنسینگ نرم افزارها می توان با استفاده از سرورهای تک سوکت هزینه کمتری بابت لایسنس پرداخت کرد.
  • مسئله کاهش کارایی به دلیل عدم تنظیمات درست NUMA در این نوع از سرورها وجود ندارد. به این دلیل که سرور فقط یک پردازنده دارند امکان تنظیمات اشتباه به حداقل می رسد. (البته بعضی از این پردازنده ها درون یک CPU Package از دو عدد پردازنده استفاده کرده اند که در زمانی دیگر مسائل مرتبط با این پردازنده ها را تشریح می کنیم.)
  • با کاهش تعداد سوکت های پردازنده، سرور توان حرارتی پایین تری خواهد داشت و لذا مصرف برق و کولینگ کاهش می یابد و گرما درون دیتاسنتر یکنواخت پخش می شود.
  • تعداد PCI-E lane ها بدلیل عدم وجود لینک های بین پردازنده ها افزایش می یابد و سرور توسعه پذیری بالاتری دارد. به این شکل تعداد بیشتری کارت گرافیک، درایوهای NVME و کارت های I/O قابلیت نصب روی سرور دارد.

 

با جمع بندی موارد گفته شده می توان اینطور استنباط کرد که در دیتاسنترهایی که از تکنولوژی مجازی سازی استفاده می کنند برای طراحی لایه Compute هر دیتاسنتر می بایست در اولین قدم بزرگترین Workload آن دیتاسنتر شناسایی شود. در صورتی که این بارکاری به ترتیب در سرورهای تک سوکت، دو سوکت یا چهار سوکت قابل سرویس دهی باشد اولویت با کوچک ترین سرور قابل تهیه است زیرا طراحی بدین شکل مزایای مجازی سازی را با scale-out سرویس ها پر رنگ تر می شود.

گرچه طراحی لایه Compute نباید تضادی با لایه های شبکه و ذخیره سازی داشته باشد. به این معنا که درصورتی که الزامات لایه ای دیگر نوع خاصی از سرورها را مطالبه می کند، می بایست این مسائل مورد بررسی دقیق قرار گیرند.