بلاگ/راهنمای انتخاب پلن سرور مجازی آریانت: پایه، عمومی، RAM، CPU یا Storage؟
به‌روز شده

راهنمای انتخاب پلن سرور مجازی آریانت: پایه، عمومی، RAM، CPU یا Storage؟

1405/06/044 بازدید
راهنمای انتخاب پلن سرور مجازی آریانت: پایه، عمومی، RAM، CPU یا Storage؟

راهنمای انتخاب پلن سرور مجازی آریانت: پایه، عمومی، RAM، CPU یا Storage؟

نمایی از دسته‌بندی پلن‌های سرور مجازی آریانت وقتی برای خرید سرور مجازی به صفحه انتخاب پلن می‌رسید، تعداد هسته پردازنده و میزان RAM تنها اعدادی نیستند که باید مقایسه کنید. دو سرور با منابع ظاهراً مشابه ممکن است برای کاربردهای متفاوتی طراحی شده باشند. یکی برای وب‌سایت و سرویس‌های روزمره مناسب است، دیگری بارهای پردازشی مداوم را بهتر اجرا می‌کند و سومی فضای ذخیره‌سازی بیشتری در اختیار شما می‌گذارد. به همین دلیل، انتخاب پلن سرور مجازی باید از نوع بار کاری شروع شود؛ نه از بزرگ‌ترین عدد جدول یا ارزان‌ترین گزینه. باید بدانید برنامه شما بیشتر به CPU وابسته است، حافظه مصرف می‌کند، داده زیادی نگه می‌دارد یا برای پردازش موازی به GPU نیاز دارد. در این راهنما، خانواده‌های پایه، عمومی، RAM-Optimized، CPU-Optimized، Storage-Optimized و GPU را از نظر کاربرد بررسی می‌کنیم. همچنین می‌بینیم صورت‌حساب ساعتی و ماهانه در چه شرایطی انتخاب مناسب‌تری هستند.

پیش از انتخاب پلن، بار کاری خود را بشناسید

اولین سؤال این نیست که «چند گیگابایت RAM بخرم؟» سؤال بهتر این است که «کدام منبع در سرویس من زودتر به محدودیت می‌رسد؟» برای پاسخ، این موارد را مشخص کنید: - چند کاربر یا درخواست هم‌زمان دارید؟ - مصرف منابع ثابت است یا در بعضی ساعت‌ها افزایش پیدا می‌کند؟ - سرویس به تأخیر پایین و پاسخ سریع نیاز دارد؟ - حجم داده چقدر است و با چه سرعتی رشد می‌کند؟ - پردازش‌ها کوتاه و پراکنده‌اند یا طولانی و مداوم؟ - محیط برای آزمایش و توسعه است یا سرویس تولیدی؟ - امکان توزیع بار میان چند سرور وجود دارد؟ اگر سرویس موجودی دارید، به‌جای حدس زدن، نمودارهای مصرف CPU، حافظه، دیسک و شبکه را با ابزار مانیتورینگ لینوکس در یک بازه معمول و یک بازه پرترافیک بررسی کنید. برای پروژه تازه نیز می‌توانید با پلنی کوچک‌تر شروع کنید، مصرف واقعی را بسنجید و سپس منابع را افزایش دهید.

مقایسه سریع خانواده‌های سرور مجازی

جدول زیر نقطه شروع مناسبی برای انتخاب است. نتیجه نهایی به نرم‌افزار، تعداد کاربران، معماری سرویس و الگوی مصرف بستگی دارد.

خانواده پلنمنبع برجستهکاربردهای متداولچه زمانی مناسب نیست؟
پایهمنابع اقتصادی برای بار سبکمحیط آزمایش، بات، VPN شخصی، سایت کم‌ترافیکبار تولیدی سنگین یا رشد سریع
عمومیتعادل CPU، RAM و فضای ذخیره‌سازیوب‌سایت، پنل سازمانی، API و فروشگاه متوسطبرنامه‌ای با گلوگاه مشخص و دائمی
RAM-Optimizedحافظه بیشترپایگاه داده، کش، پردازش درون‌حافظه‌ایکاری که بیشتر زمان خود را منتظر CPU یا دیسک می‌ماند
CPU-Optimizedتوان پردازشی بیشترکامپایل، رمزگذاری، پردازش عددی و سرویس پرترافیکنگهداری داده حجیم یا برنامه بسیار حافظه‌محور
Storage-Optimizedظرفیت یا تمرکز بیشتر بر ذخیره‌سازیآرشیو، فایل‌سرور، لاگ و مخزن دادهمحاسبات سنگین یا پردازش GPU
GPUپردازش موازی با شتاب‌دهندههوش مصنوعی، رندر و پردازش ویدئووب‌سایت عادی، پنل مدیریت یا سرویس سبک

مقایسه تصویری منابع CPU، RAM، فضای ذخیره‌سازی و GPU در خانواده‌های مختلف پلن سرور مجازی آریانت

پلن پایه؛ برای شروع کوچک و کم‌هزینه

پلن پایه برای سرویس‌هایی مناسب است که مصرف منابع کمی دارند و توقف کوتاه یا افت موقت عملکرد در آن‌ها خسارت جدی ایجاد نمی‌کند. محیط توسعه، نمونه اولیه، وب‌سایت شخصی، مانیتورینگ سبک، بات کم‌کاربر و ابزارهای داخلی کوچک از کاربردهای معمول این خانواده‌اند. این پلن می‌تواند برای ارزیابی سازگاری یک نرم‌افزار با زیرساخت نیز مفید باشد. برای مثال، پیش از انتقال کامل یک برنامه می‌توانید نسخه آزمایشی آن را روی یک سرور کوچک اجرا و وابستگی‌ها، سیستم‌عامل و فرایند استقرار را بررسی کنید. اقتصادی بودن پلن پایه به این معنا نیست که هر پروژه‌ای باید از آن شروع شود. اگر از ابتدا پایگاه داده پرترافیک، چند سرویس هم‌زمان یا تعداد زیادی کاربر دارید، انتخاب منابع کمتر ممکن است زمان شما را صرف عیب‌یابی کند. در چنین وضعی، پلن عمومی نقطه شروع مطمئن‌تری است. برای معیارهای دقیق‌تر انتخاب بین گزینه‌های ارزان، راهنمای خرید سرور مجازی ارزان را ببینید.

پلن عمومی؛ انتخاب متعادل برای کاربردهای رایج

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

پلن RAM-Optimized؛ وقتی حافظه گلوگاه است

پلن RAM-Optimized برای برنامه‌هایی مناسب است که مجموعه داده فعال بزرگی را در حافظه نگه می‌دارند. پایگاه‌های داده، سامانه‌های کش مانند Redis، موتورهای جست‌وجو، تحلیل داده و بعضی سرویس‌های جاوا نمونه‌های رایج هستند. کمبود RAM معمولاً باعث استفاده از Swap، افزایش عملیات دیسک و افت محسوس سرعت می‌شود. اگر مانیتورینگ نشان می‌دهد حافظه دائماً نزدیک ظرفیت است و سیستم مرتب به Swap مراجعه می‌کند، افزایش CPU به‌تنهایی مشکل را حل نمی‌کند. پیش از انتخاب این خانواده بررسی کنید که مصرف زیاد حافظه واقعاً بخشی از طراحی برنامه است. نشت حافظه، تنظیم نامناسب کش یا تعداد بیش از حد پردازش‌ها می‌تواند مصرف RAM را غیرعادی کند. در این حالت، پلن بزرگ‌تر فقط زمان بروز دوباره مشکل را عقب می‌اندازد.

چه بارهایی معمولاً از RAM بیشتر سود می‌برند؟

  • پایگاه داده با داده فعال و Queryهای پرتکرار
  • Redis، Memcached و سرویس‌های مشابه
  • Elasticsearch و موتورهای جست‌وجوی حافظه‌محور
  • پردازش مجموعه داده در حافظه
  • ماشین مجازی یا کانتینرهای متعدد روی یک میزبان

پلن CPU-Optimized؛ برای محاسبات مداوم

پلن CPU-Optimized زمانی مناسب است که پردازنده بخش عمده زمان اجرا را تعیین می‌کند. کامپایل پروژه‌های بزرگ، تبدیل و رمزگذاری فایل، فشرده‌سازی، پردازش عددی، اجرای Workerهای محاسباتی و بعضی سرورهای بازی در این گروه قرار می‌گیرند. نشانه اصلی نیاز به این پلن، استفاده بالای مداوم از CPU همراه با کافی بودن RAM و عملکرد عادی دیسک است. اگر صف کارها با افزایش توان پردازشی سریع‌تر تخلیه می‌شود، این خانواده می‌تواند زمان انجام وظایف را کاهش دهد. بااین‌حال، درصد بالای CPU همیشه به معنی کمبود هسته نیست. یک Query ناکارآمد، حلقه برنامه‌نویسی معیوب یا ترافیک ناخواسته نیز پردازنده را درگیر می‌کند. ابتدا پردازش‌های پرمصرف را پیدا کنید و سپس درباره تغییر پلن تصمیم بگیرید. تعداد هسته نیز همه‌چیز را مشخص نمی‌کند. برخی برنامه‌ها تک‌رشته‌ای هستند و از هسته‌های بیشتر استفاده کامل نمی‌کنند. در مقابل، Workerها، فرایندهای مستقل و ابزارهای کامپایل معمولاً بهتر می‌توانند کار را میان چند هسته تقسیم کنند.

پلن Storage-Optimized؛ برای داده‌ای که مدام رشد می‌کند

پلن Storage-Optimized برای کاربردهایی است که ظرفیت ذخیره‌سازی یا الگوی دسترسی به داده در آن‌ها اهمیت بیشتری دارد. فایل‌سرور، نگهداری لاگ، آرشیو، مخزن بسته‌ها، سامانه پشتیبان‌گیری و بعضی پایگاه‌های داده حجیم می‌توانند از این خانواده استفاده کنند. قبل از انتخاب، میان «ظرفیت زیاد» و «عملکرد بالای دیسک» تفاوت بگذارید. ممکن است پروژه‌ای فضای زیادی برای آرشیو بخواهد اما دسترسی آن کم باشد. پروژه دیگری حجم محدودی داشته باشد ولی به تعداد زیادی عملیات خواندن و نوشتن در هر ثانیه نیاز پیدا کند. در زمان مقایسه پلن‌ها، علاوه بر ظرفیت، نوع دیسک و شاخص‌های عملکرد ذخیره‌سازی اعلام‌شده در صفحه محصول را بررسی کنید. این پلن جایگزین بکاپ نیست. حتی اگر داده‌ها روی فضای ذخیره‌سازی بزرگ قرار دارند، نسخه پشتیبان باید جدا از سرور اصلی نگهداری شود (نمونه یک فرایند کامل پشتیبان‌گیری و بازیابی پایگاه داده را ببینید). همچنین بهتر است پیش از خرید، نرخ رشد ماهانه داده و مدت نگهداری لاگ یا فایل را محاسبه کنید.

پلن GPU؛ برای پردازش‌های قابل شتاب‌دهی

سرور GPU برای کاری مناسب است که نرم‌افزار آن بتواند از پردازش موازی شتاب‌دهنده استفاده کند. آموزش یا اجرای مدل‌های یادگیری ماشین، رندر سه‌بعدی، پردازش ویدئو و برخی محاسبات علمی نمونه‌های شناخته‌شده‌اند. داشتن GPU لزوماً هر برنامه‌ای را سریع‌تر نمی‌کند. نرم‌افزار باید از چارچوب، درایور و کتابخانه سازگار استفاده کند. یک وب‌سرور معمولی، پایگاه داده سبک یا برنامه اداری غالباً از هزینه اضافه GPU سودی نمی‌برد. در انتخاب این خانواده، فقط نام GPU را نبینید. میزان حافظه گرافیکی، سازگاری نرم‌افزار، نسخه درایور و مدت استفاده اهمیت دارند. اگر GPU را برای یک پروژه کوتاه یا اجرای دوره‌ای مدل نیاز دارید، صورت‌حساب ساعتی می‌تواند از رزرو دائمی منابع مقرون‌به‌صرفه‌تر باشد.

صورت‌حساب ساعتی یا ماهانه؟

نوع صورت‌حساب باید با طول عمر و الگوی استفاده سرور هماهنگ باشد. پرداخت ساعتی برای منابع موقت انعطاف بیشتری دارد؛ پرداخت ماهانه برای سرویس‌های دائمی، برنامه‌ریزی هزینه را ساده‌تر می‌کند (بررسی دقیق‌تر این دو گزینه در سرور مجازی ساعتی ایران؛ چه زمانی به‌صرفه‌تر از ماهانه است؟).

الگوی استفادهصورت‌حساب پیشنهادیدلیل
محیط توسعه‌ای که فقط هنگام کار روشن استساعتیپرداخت متناسب‌تر با مدت استفاده
آزمایش نسخه جدید یا اجرای CI موقتساعتیحذف سرور پس از پایان کار
پردازش دسته‌ای یا پروژه کوتاه GPUساعتینیاز محدود به منابع گران‌تر
وب‌سایت و API همیشه‌فعالماهانهمصرف پیوسته و هزینه قابل پیش‌بینی
پایگاه داده تولیدیماهانهنیاز دائمی به دسترس‌پذیری
کمپین یا رویداد با زمان مشخصساعتی یا ترکیبیافزودن ظرفیت موقت کنار سرور اصلی

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

یک روش عملی برای انتخاب پلن سرور مجازی

برای اینکه میان چند خانواده مردد نمانید، این فرایند را اجرا کنید: 1. بار کاری اصلی و سرویس‌های جانبی را فهرست کنید. 2. حداقل RAM، CPU و فضای مورد نیاز نرم‌افزار را از مستندات آن پیدا کنید. 3. رشد ترافیک و داده را برای چند ماه آینده تخمین بزنید. 4. گلوگاه احتمالی را مشخص کنید و خانواده متناسب را انتخاب کنید. 5. برای سرویس تولیدی، مقداری ظرفیت آزاد در نظر بگیرید. 6. پس از استقرار، مصرف منابع و زمان پاسخ را مانیتور کنید. 7. بر اساس داده واقعی، اندازه یا خانواده پلن را تغییر دهید. برای مثال، یک سایت وردپرسی کم‌ترافیک می‌تواند با پلن پایه آغاز کند. فروشگاه فعال با پایگاه داده و افزونه‌های متعدد معمولاً به پلن عمومی نیاز دارد. اگر گزارش‌ها نشان دهند PHP پردازنده را اشباع می‌کند، CPU-Optimized ارزش بررسی دارد؛ اگر پایگاه داده با کمبود حافظه روبه‌رو باشد، RAM-Optimized مناسب‌تر است. برای سرویس‌های حساس، ظرفیت آزاد را بیش از حد محدود نکنید. سروری که در حالت عادی دائماً نزدیک سقف منابع کار می‌کند، هنگام افزایش ترافیک فرصت کمی برای پاسخ‌گویی دارد.

اشتباه‌های رایج هنگام انتخاب پلن

خرید پلن بزرگ بدون بررسی مصرف، هزینه را افزایش می‌دهد اما ضعف معماری یا تنظیمات را برطرف نمی‌کند. از طرف دیگر، انتخاب ارزان‌ترین پلن برای یک سرویس تولیدی می‌تواند باعث کندی، خطای کمبود حافظه و قطعی شود. مقایسه مستقیم تعداد هسته میان هر دو محصول نیز همیشه دقیق نیست. نوع تخصیص منابع، نسل سخت‌افزار و شرایط سرویس می‌توانند بر عملکرد اثر بگذارند. معیار بهتر، آزمایش برنامه واقعی و بررسی نمودارهای مانیتورینگ است. اشتباه دیگر، قراردادن وب‌سرور، پایگاه داده، صف، مانیتورینگ و بکاپ روی یک ماشین کوچک است. این چیدمان برای آزمایش قابل قبول است، اما در سرویس رو‌به‌رشد تشخیص گلوگاه و مدیریت خرابی را دشوار می‌کند.

جمع‌بندی

در انتخاب پلن سرور مجازی، خانواده پلن باید با محدودکننده اصلی برنامه هماهنگ باشد. پلن پایه برای کارهای سبک و آزمایشی مناسب است. پلن عمومی تعادل خوبی برای بیشتر وب‌سایت‌ها و برنامه‌های معمول دارد. RAM-Optimized برای پایگاه داده و کش، CPU-Optimized برای محاسبات مداوم، Storage-Optimized برای داده حجیم و GPU برای نرم‌افزارهای سازگار با پردازش موازی طراحی شده است. اگر مصرف شما کوتاه‌مدت یا متغیر است، صورت‌حساب ساعتی انعطاف بیشتری می‌دهد. برای سرویس همیشه‌فعال، پرداخت ماهانه معمولاً مدیریت هزینه را آسان‌تر می‌کند. در هر دو حالت، تصمیم نهایی را با مانیتورینگ مصرف واقعی بازبینی کنید. برای مقایسه گزینه‌ها و ساخت سرور متناسب با بار کاری خود، پلن‌های سرور مجازی آریانت را ببینید.