وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

سرور اختصاصی تک‌پردازنده بهتر است یا دوپردازنده؟ انتخاب با مثال واقعی

تفاوت سرور یک و دو سوکت، تأثیر هسته، حافظه و هزینه و روش انتخاب بر اساس بار واقعی برنامه.

انتشار:
توسط تیم فنی نت‌آرام
۵ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله سرور اختصاصی تک‌پردازنده بهتر است یا دوپردازنده؟ انتخاب با مثال واقعی در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
در مشخصات دو سرور اختصاصی می‌بینید یکی یک پردازنده دارد و دیگری دو پردازنده. آیا دومی همیشه دو برابر سریع‌تر است؟ خیر. ممکن است یک پردازنده جدید با هسته‌های بیشتر، حافظه مناسب و توان خوب برای کار شما از دو پردازنده قدیمی نتیجه بهتری بدهد. برعکس، برای کاری که واقعاً به پردازش هم‌زمان و ظرفیت حافظه بیشتری نیاز دارد، سرور دوپردازنده می‌تواند انتخاب مناسبی باشد.
برای تصمیم درست باید مدل دقیق پردازنده، تعداد کل هسته، سرعت کار موردنیاز، حافظه و هزینه را کنار هم ببینیم. در پایان نیز روش ساده‌ای برای مقایسه دو پیشنهاد با کار واقعی خودتان می‌گوییم.

پردازنده، سوکت و هسته را اشتباه نگیریم

سوکت محل قرارگیری یک پردازنده فیزیکی روی مادربرد است. یک پردازنده می‌تواند چندین هسته و هر هسته یک یا چند رشته داشته باشد. بنابراین یک سرور تک‌پردازنده الزاماً تک‌هسته‌ای نیست و یک سرور دوپردازنده هم لزوماً تعداد کل هسته بیشتری از هر سرور تک‌پردازنده ندارد.
مثلاً دو پیشنهاد فرضی را مقایسه کنید:
| مشخصه | سرور A | سرور B | | --- | --- | --- | | پردازنده فیزیکی | یک عدد | دو عدد | | هسته هر پردازنده | ۳۲ هسته | ۱۶ هسته | | مجموع هسته فیزیکی | ۳۲ هسته | ۳۲ هسته |
در این مثال تعداد کل هسته برابر است، ولی مدل، نسل، فرکانس، حافظه و عملکرد ممکن است فرق کنند. عددهای جدول نمونه هستند و نتیجه آزمایش هیچ محصول خاصی را نشان نمی‌دهند. برای فرق هسته و رشته، راهنمای هسته و thread سرور را ببینید.

نوع کار شما تک‌نفره است یا گروهی؟

اگر یک کار مهم به انجام مرحله‌های پشت‌سرهم وابسته باشد، سرعت همان مسیر پردازش و تأخیر پاسخ اهمیت زیادی دارد. دو برابرکردن تعداد پردازنده لزوماً آن یک کار را دو برابر سریع نمی‌کند. اگر برنامه تعداد زیادی کار مستقل را واقعاً هم‌زمان اجرا کند، هسته‌ها و منابع بیشتر می‌توانند ظرفیت بیشتری فراهم کنند؛ البته پایگاه داده، حافظه و دیسک نیز باید پاسخ‌گو باشند.
برای مثال، یک فروشگاه ممکن است هنگام کمپین درخواست‌های هم‌زمان زیادی داشته باشد. پیش از انتخاب سرور دوپردازنده، ببینید محدودیت اصلی واقعاً CPU است یا درخواست‌ها منتظر دیتابیس یا سرویس بیرونی‌اند. در مقابل، یک سیستم پردازش دسته‌ای که کارهای مستقل زیادی را اجرا می‌کند شاید بتواند از هسته‌های بیشتر استفاده بهتری ببرد. این‌ها فرض‌اند؛ نتیجه را باید در برنامه خودتان بسنجید.

فقط GHz یا تعداد هسته را مقایسه نکنید

فرکانس پردازنده در یک لحظه، سرعت کل برنامه نیست. نسل پردازنده، تعداد هسته‌های فعال، محدودیت توان، خنک‌سازی و نوع محاسبات بر نتیجه اثر دارند. فرکانس توربو نیز الزاماً در همه هسته‌ها و برای مدت نامحدود یکسان باقی نمی‌ماند. دو مدل با عدد GHz برابر می‌توانند عملکرد متفاوتی داشته باشند.
از فروشنده بخواهید مدل دقیق CPU، تعداد پردازنده، هسته و رشته هر کدام، مقدار و چینش RAM، نوع دیسک و ظرفیت شبکه را اعلام کند. نتیجه بنچمارک عمومی می‌تواند سرنخ بدهد، ولی جای آزمایش کار واقعی شما با تنظیمات یکسان را نمی‌گیرد.

حافظه و ارتباط میان پردازنده‌ها چه اهمیتی دارند؟

در بسیاری از سرورهای چندسوکته، هر پردازنده به بخشی از حافظه نزدیک‌تر است و دسترسی به حافظه متصل به پردازنده دیگر ممکن است هزینه متفاوتی داشته باشد. به این شیوه NUMA می‌گویند. توضیح Red Hat درباره NUMA مفهوم حافظه محلی و دورتر را شرح می‌دهد.
این به معنی بدبودن سرور دوپردازنده نیست؛ یعنی چینش صحیح حافظه و نرم‌افزار اهمیت دارد. اگر فقط یک پردازنده روی مادربرد دو سوکته نصب باشد، بسته به مدل، بعضی اسلات‌های RAM یا PCIe ممکن است قابل استفاده نباشند. پیش از خرید، دفترچه همان مدل و چینش اعلام‌شده را بررسی کنید. تنظیم اجباری اتصال پردازش به هسته یا NUMA را بدون آزمون انجام ندهید؛ ممکن است عملکرد را بدتر کند.

هزینه‌هایی که باید کنار قیمت اولیه بگذارید

در مقایسه، فقط مبلغ ماهانه یا قیمت سخت‌افزار را نبینید. برق و خنک‌سازی در صورت محاسبه جداگانه، پشتیبانی، امکان ارتقا، تعداد اسلات حافظه، قطعات جایگزین و مجوز نرم‌افزار را بپرسید. برخی نرم‌افزارها بر اساس هسته یا پردازنده قیمت‌گذاری می‌شوند؛ شرایط هر محصول را جداگانه بررسی کنید. دو پردازنده الزاماً به معنی دو منبع تغذیه مستقل یا تحمل خرابی پردازنده نیست.

چطور با کمترین ریسک انتخاب کنیم؟

  1. یک سناریوی مشخص بنویسید: تعداد درخواست هم‌زمان، نوع صفحه یا زمان لازم برای تکمیل یک کار.
  2. در محیط آزمایشی، روی هر دو گزینه با نسخه نرم‌افزار، داده، کش و تنظیمات مشابه همان سناریو را اجرا کنید. آزمایش را با ترافیک واقعی مشتری مخلوط نکنید.
  3. زمان پاسخ، تعداد خطا، مصرف CPU و حافظه و تأخیر دیسک را ثبت کنید. یک نتیجه کوتاه یا نمره عمومی کافی نیست؛ چند اجرای قابل مقایسه لازم است.
  4. رشد پیش‌بینی‌شده و هزینه کل را کنار نتیجه بگذارید. اگر گزینه تک‌پردازنده نیاز شما را با حاشیه مناسب پوشش می‌دهد، الزاماً پرداخت برای دو پردازنده لازم نیست؛ اگر محدودیت واقعی و مستمر وجود دارد، گزینه قوی‌تر را بررسی کنید.
برای انتخاب سرور اختصاصی ایران، مشخصات واقعی مدل‌های موجود و شرایط ارتقا را از ارائه‌دهنده بگیرید. نتیجه نهایی باید بر پایه بار و بودجه همان کسب‌وکار باشد، نه تعداد پردازنده به‌تنهایی.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام