چگونه CPU و RAM مناسب را برای VPS خود انتخاب کنیم؟
انتخاب VPS (سرور مجازی) برای وبسایت شما بی شباهت به انتخاب کامپیوتر رومیزی یا لپ تاپ برای خانه یا محل کار نیست. معمولا کاری که شما انجام میدهید این است که به تنظیمات سخت افزاری نگاه نموده و ویژگیها و قیمتها را مقایسه کنید. در حالی که ممکن است تخمین تقریبی از نوع منابعی که برای کامپیوتر شخصی خود نیاز دارید داشته باشید، دریافت ترکیب مناسبی از قدرت پردازش، حافظه و ذخیره سازی برای سرور شما ممکن است کمی دشوارتر باشد.
در عین حال، این برای موفقیت وبسایت شما بسیار مهم است. اگر سروری تهیه کنید که به اندازه کافی قدرتمند نباشد و عملکردی مطابق انتظارات بازدیدکنندگان نخواهید داشت. اگر سروری تهیه کنید که بیش از نیاز شما باشد، برای منابعی که به آن نیاز ندارید هزینه خواهید کرد.
در این مطلب بررسی خواهیم کرد که چگونه قدرت CPU و RAM بر سرعت سرور مجازی شما تاثیر میگذارد و به شما کمک میکند تعادل مناسب را پیدا کنید.
منابع سخت افزاری در سرور مجازی (VPS)
معمولا مولفههایی که سرور میزبان وب شما را تامین میکنند، مانند سختافزار داخل کامپیوتر و گوشی موبایل شما هستند.
موارد حیاتی برای میزبانی وب عبارتند از:
- پردازنده: CPUمخفف Central Processing Unit است و اغلب از آن به عنوان مغز سرور یاد میشود. وظیفه آن انجام محاسبات، اجرای دستورات و پردازش دادهها است.
- حافظه رم: RAM یا Random Access Memory دیوایسی است که ذخیره موقت دادههای تولید شده توسط سیستم عامل و نرم افزار نصب شده بر روی سرور را فراهم میکند. دادههای ذخیره شده در RAM توسط برنامهها و CPU سرور استفاده میشود. میتوان آن را بسیار سریعتر از اطلاعات موجود در درایو ذخیره سازی دائمی سرور خواند.
- استوریج: درایو SSD (یا HDD) دیوایس ذخیره سازی است که فایلها و دیتابیسهای شما را نگه میدارد. بر خلاف رم که در هر بار راه اندازی مجدد تخلیه میشود، SSD دادهها را به طور دائم ذخیره میکند.
اگر از سرور اختصاصی استفاده میکنید، همه اینها اجزای فیزیکی هستند که هنگام خرید و استقرار سرور مشخص شدهاند. در یک سرور مجازی، یک هایپروایزر این قطعات سخت افزاری را میگیرد و منابع آنها را بین چندین ماشین مجازی تقسیم میکند.
از نظر فضای ذخیره سازی، همه چیز تقریبا ساده است، به خصوص اگر در مورد یک راه اندازی استاندارد VPS صحبت کنیم. یک Hypervisor درایو سرور فیزیکی را به چندین بخش جداگانه تقسیم میکند و هر یک از آنها را به یک ماشین مجازی متفاوت اختصاص میدهد.
توزیع رم بین VPSها نیز مشابه است. حافظه سرور فیزیکی به تکههای 1 گیگابایتی تقسیم میشود که با توجه به نیاز آنها به ماشینهای مجازی اختصاص داده میشود. لازم نیست همیشه از همه آن استفاده شود.
به عنوان مثال، ممکن است یک سرور فیزیکی با 16 گیگابایت رم و سه VPS در حال اجرا بر روی آن داشته باشید - دو تا از 2 گیگابایت و دیگری 8 گیگابایت. این بدان معناست که ماشینهای مجازی از 12 گیگابایت استفاده میکنند و 4 گیگابایت برای ارتقاء یا استقرار جدید باقی میمانند.
وقتی صحبت از قدرت پردازش می شود، همه چیز کمی پیچیده تر است. پردازندههای مدرن از معماری چند هستهای استفاده میکنند که بهرهوری را به شدت بهبود میبخشد و سرعت پردازش را افزایش میدهد.
CPU سرور فیزیکی دارای چندین واحد پردازش در یک تراشه است. تخصیص یک یا چند واحد از این واحدها به هر ماشین مجازی ناکارآمد خواهد بود. سرورهای میزبانی وب فیزیکی از سخت افزار درجه یک سازمانی استفاده میکنند، بنابراین حتی یک هسته CPU ممکن است برای یک وب سایت معمولی بسیار قدرتمند باشد. به همین دلیل است که هایپروایزرها قدرت پردازش ارائه شده توسط یک هسته فیزیکی را به چند هسته مجازی تقسیم می کنند.
سپس هستههای مجازی به راهکارهای اختصاصی VPS اختصاص داده می شوند. هر چه هسته های بیشتری داشته باشید، سرور وظایف بیشتری را به طور همزمان اجرا میکند.
رم در زمینه میزبانی وب چگونه کار میکند؟
رم کامپیوتر یا سرور شما دستگاهی است که دادهها را ذخیره میکند. بنابراین، منطقی است که بپرسید: «تفاوت بین حافظه رم و SSD که دادههای شما را نگه می دارد چیست؟» پاسخ سرعت است.
فناوری ذخیره سازی راه طولانی را طی کرده است، اما حتی مدرن ترین درایوهای SSD هنوز هم سرعت کمتری نسبت به RAM سرور شما دارند. این تا حدودی به دلیل سخت افزار است.
دیگر هد خواندن و نوشتن وجود ندارد و SSDها هیچ قسمت متحرکی ندارند. با این حال، سرعت درایوهای ذخیرهسازی دائمی همچنان بر حسب مگابایت بر ثانیه اندازهگیری میشود، در حالی که RAM اطلاعات را با سرعتی بیش از 1 گیگابایت بر ثانیه میخواند و مینویسد.
در منطق مورد استفاده برای ذخیره اطلاعات نیز تفاوت وجود دارد. SSDها دادهها را در بلوکهای داده (data blocks) ذخیره میکنند، که سازماندهی آن را آسانتر اما خواندن آن را کندتر میکند.
در مقابل، کلمه random در Random Access Memory نشان می دهد که هر بایتی از اطلاعات مورد نیاز فورا در دسترس است. نتیجه latency کمتری است (زمانی که کامپیوتر برای خواندن اولین بایت داده نیاز دارد).
تمام این سرعت، زمانی که شما نیاز به راه اندازی یک برنامه دارید، به کار می رود. در اصطلاح اولیه، یک برنامه نرم افزاری مجموعهای از دادهها و همچنین دستورالعمل هایی است که به CPU میگوید که چگونه آن را پردازش کند.
با ذخیره دادههای برنامه در رم، پردازنده می تواند سریعتر به آن دسترسی پیدا کند. به همین دلیل است که وقتی یک برنامه نرم افزاری را روی کامپیوتر یا تلفن خود راه اندازی میکنید، دادههای آن به طور خودکار در حافظه بارگذاری می شود و CPU آن را از آنجا می خواند. هرچه برنامه بزرگتر و پیچیده تر باشد، به رم بیشتری نیاز دارید.
بیشتر موارد مشابه در سرور میزبانی وب اتفاق میافتد. فرض کنید وبسایت شما با وردپرس ساخته شده است. در کنار آن، اجزای دیگری نیز دارید که از وبسایت شما پشتیبانی میکنند، مانند وب سرور، سیستم مدیریت پایگاه داده، مفسر PHP و غیره. سیستم عامل سرور هم از مقداری حافظه برای ارائه محیطی که برنامههای شما در آن اجرا میشود استفاده میکند.
هنگامی که سرور روشن میشود، دادههای همه این نرم افزارها و برنامهها در RAM بارگذاری میشود. هنگامی که کاربران با وبسایت شما تعامل دارند، اطلاعات ذخیره شده در آنجا فوری در دسترس است و پردازنده آن را به سرعت و کارآمد در اختیار مرورگر کاربر قرار میدهد.
اگر اطلاعاتی که باید برای کاربر ارسال شود در RAM موجود نباشد، از SSD دریافت میشود.
کش و رم
هنگامی که یک کاربر صفحهای را درخواست میکند، وب سرور چیزهای زیادی در صفحه خود دارد. ابتدا باید درخواست را تفسیر کند، منابع مورد نیاز را بیابد و تمام فایلهای استاتیک مانند تصاویر، شیوه نامههای CSS و اسکریپتهای JS را از SSD سرور جمع آوری کند. سپس، باید کوئریهای پایگاه داده و اجرای اسکریپتهای سمت سرور را که دادههای داینامیک تولید میکنند، هماهنگ نماید. در نهایت، همه اینها باید به عنوان یک پاسخ HTTP کاربردی به کاربر بازگردانده شود.
وقتی کاربر دیگری همان صفحه را درخواست میکند، سرور شما باید همان مراحل را تکرار کند و اگر صدها بازدیدکننده به طور همزمان به یک صفحه دسترسی داشته باشند، باید صدها بار در ثانیه این کار را انجام دهند.
با توجه به اینکه بسیاری از دادههای ارائه شده به کاربران یکسان هستند، این کارآمدترین استفاده از منابع سخت افزاری نیست. به همین دلیل است که کش (Cache) اختراع شد.
اگر کش در سایت شما فعال باشد، قبل از ارسال پاسخ به اولین کاربر، برخی از دادهها کپی شده و در رم سرور ذخیره میشود. هنگامی که کاربر دوم وارد میشود، وب سرور به جای اینکه دوباره همان فرآیند را طی کند، آن را از حافظه واکشی میکند.
تاثیر روی سرعت آنقدر قابل توجه است که برای یافتن وبسایتی با ترافیک معنی دار که از کش استفاده نمیکند، با مشکل مواجه خواهید شد.
انتخاب راهکار کشینگ و اجرای آن باید تحت تاثیر عوامل مختلفی باشد، از جمله پلتفرم ساخت وبسایت، حجم داده های داینامیک که باید ارائه دهید، ترافیکی که هر روز ثبت میکنید و غیره.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
چگونه CPU در زمینه میزبانی وب کار میکند؟
قبلا گفتیم که SSD و RAM دادهها را ذخیره میکنند ولی واقعا کاری با آن انجام نمیدهند. این وظیفه CPU است.
برنامههای نرم افزاری نصب شده بر روی سرور دستورالعملهای (instructions) خاصی را به آن میدهند و آنها را به اقدامات (actions) تبدیل میکند. انجام کارآمد آن به چند جزء کلیدی بستگی دارد.
اجزای کلیدی CPU
در زیر، اجزای کلیدی CPU را بررسی خواهیم کرد تا بتوانید با آنها آشنا شوید.
- واحد کنترل (Control unit): واحد کنترل بخشی از پردازنده است که به سایر اجزا میگوید چگونه به دستورالعملهای خاص پاسخ دهند. اطلاعات ورودی را دریافت میکند، آنها را به سیگنال تبدیل نموده و آنها را به هستههای جداگانه یا ماژولهای دیگر در پردازنده میفرستد.
- واحد منطق محاسباتی (Arithmetic logic unit): واحد منطق محاسباتی کارهای سنگین را انجام میدهد و مسئول انجام عملیات حسابی و بیتی است. به عبارت دیگر دستورالعملهای تحویل شده توسط واحد کنترل را تکمیل میکند.
- حافظه کش (Cache memory): حافظه نهان CPU با کش اصلی سرور متفاوت است. این یک دیوایس سختافزاری است که به پردازنده مرکزی متصل است و دادههایی را که اغلب به آنها دسترسی پیدا میکند، ذخیره مینماید، که میتواند مستقیم به کاربر ارائه شود یا به تکمیل دستورالعملهای CPU کمک کند.
فناوری Cloud و مجازیسازی عملکرد همه این مولفهها را شبیهسازی نموده و تضمین میکند که سرور مجازی شما به عنوان یک ماشین معمولی کار میکند.
مجازی یا فیزیکی، هنگام بررسی گزینههای میزبانی موجود باید چند فاکتور را در نظر بگیرید.
ویژگیهای کلیدی CPU
سرعت کلاک (clock speed) یکی از مهمترین ویژگیهای CPUهای مدرن است. یک صندوق در یک هایپرمارکت را تصور کنید. سرعت حرکت آن کاملا به کارایی صندوقدار بستگی دارد. هرچه سریعتر کار کنند، مشتریان با سرعت بیشتری از آن عبور خواهند کرد.
یک CPU با سرعت کلاک (یا فرکانس کاری) بالا مانند یک صندوقدار مجرب و آموزش دیده است که مشتریان را با کارایی بی نقص اداره میکند. یک CPU کند مانند یک کارآموز در اولین روز کار است.
به عبارت دیگر، clock speed تعیین میکند که پردازنده با چه سرعتی دستورات را اجرا و محاسبات را کامل میکند.
تعداد هستهها یکی دیگر از ویژگیهای بسیار مهم است. بیایید در تشبیه هایپرمارکت بمانیم. صف هنوز هم همان است، اما شما چند صندوق دیگر را باز میکنید و مشتریان نیز شروع به استفاده از آنها می کنند. افراد بیشتری به طور همزمان فرآیند پرداخت را طی می کنند، بنابراین زمان انتظار کاهش می یابد.
این در واقع زمانی است که سرور شما چندین هسته دارد. درخواستها و دستورالعملها توسط هستههای مختلف به طور همزمان اجرا می شوند. وظایف بیشتری به طور همزمان انجام می شود که منجر به عملکرد کلی سریعتر می شود.
سرعت CPU معمولا ثابت است و به سخت افزاری که ماشین مجازی شما را تغذیه می کند بستگی دارد. اگر پردازنده سرور فیزیکی با فرکانس 3.2GHz کار کند، VPS شما نیز از همان فرکانس استفاده خواهد کرد. فرآیندی که به عنوان اورکلاک شناخته میشود، از نظر تئوری می تواند آن را افزایش دهد، اما می تواند منجر به مشکلات پایداری شود، بنابراین بهترین عمل در نظر گرفته نمیشود.
وقتی صحبت از هسته ها می شود، همه چیز کمی انعطاف پذیرتر است. به لطف مجازی سازی، ارائه دهنده هاست شما می تواند قدرت پردازش سرور فیزیکی را تقسیم کرده و آن را بین ماشین های مجازی مختلف بر اساس نیاز خود توزیع کند.
شما می توانید دو سرور مجازی روی یک زیرساخت داشته باشید یکی با دو هسته CPU و دیگری با ده هسته. تنها محدودیتهای واقعی ناشی از سخت افزار و میزان قدرت پردازش استفاده نشده است.
انتخاب CPU و RAM برای VPS شما
انتخاب پیکربندی سخت افزاری صحیح به معنای یافتن تعادل ظریفی است که قدرت و عملکرد مناسب را با قیمت مناسب به شما تقدیم خواهد کرد. شما می خواهید منابع مورد نیاز برای رسیدن به سرعت بارگیری مورد نظر خود را بدست آورید و در عین حال مطمئن شوید که هزینه زیادی پرداخت نمیکنید. وقتی صحبت از ذخیره سازی به میان می آید، تقریبا ساده است. چه در حال ساخت سایت خود به صورت لوکال یا مستقیم بر روی یک سرور باشید، به راحتی می توانید ببینید که چقدر فضای اشغال میکند.
با قدرت پردازش و حافظه، همه چیز پیچیده تر است.
برخلاف فضای ذخیره سازی، رم و CPU برای تضمین عملکرد قوی بسیار حیاتی هستند. اگر یکی از آنها را اشتباه بگیرید، نمی توانید انتظار داشته باشید که دیگری جبران کند. ارائه دهندگان هاست با توصیه تنظیمات سخت افزاری بر اساس سطح ترافیک سایت شما سعی میکنند به شما در جلوگیری از این امر کمک کنند. به عنوان مثال، بسیاری از کارشناسان بر این باورند که برای هر 200000 کلیک ماهانه، شما به 1 هسته پردازنده و 2 گیگابایت رم نیاز دارید.
این ارقام از هوا بیرون کشیده نشدهاند. آنها بر اساس سالها تجربه میزبانی وبسایت در سرورهای مجازی محاسبه میشوند.
اگرچه آنها نمی توانند موفقیت را تضمین کنند. علاوه بر ترافیک، عوامل بسیار زیادی وجود دارد که به استفاده از منابع یک وبسایت کمک می کند، و نادیده گرفتن هر یک از آنها می تواند منجر به مشکلات عملکرد شود.
به عنوان مثال، نرم افزاری که برای ساختن وبسایت خود استفاده می کنید نقش مهمی ایفا میکند. در واقع، هنگام مقایسه سیستم های مدیریت محتوا، استفاده از منابع اغلب مورد بحث قرار می گیرد.
رایج است که به دلیل تطبیق پذیری و معماری ماژولار، دروپال از وردپرس منابع بیشتری مصرف میکند. این نشان می دهد که اگر در حال ساخت یک سایت دروپال هستید، به سرور قدرتمندتری نسبت به زمانی که میخواهید با وردپرس کار کنید، نیاز دارید. با این حال، به این سادگی نیست زیرا اگر از یک پلاگین سنگین وردپرس، مانند صفحه ساز المنتور (Elementor)، استفاده کنید، همه چیز میتواند به سرعت برعکس شود.
عوامل دیگری نیز وجود دارد، مانند استراتژیهای بهینه سازی که پیاده سازی کرده اید. اگر به فکر پیادهسازی یک راهحل کشینگ هستید که حجم زیادی از دادهها را ذخیره میکند، باید RAM کافی برای ذخیره اطلاعات را آماده کرده و دریافت کنید. با این حال، هرچه دادههای کش بیشتری داشته باشید، میزان استفاده از CPU شما کاهش مییابد، بنابراین فکر کردن در مورد اینکه چگونه ممکن است بر پیکربندی شما تاثیر بگذارد مفید است.
همه اینها به این معنی است که نسبت CPU به RAM وجود ندارد که بتوانید هنگام انتخاب سرور مجازی خود به آن پایبند باشید. الزامات پروژه های فردی بسیار متنوع است، و غیرممکن است که یک فرمول قطعی به شما بگوید که به چه نوع پیکربندی نیاز دارید.
بررسی استفاده از CPU و RAM و ارتقای VPS
یکی از مزایای اصلی VPS مقیاس پذیری آن است. پیکربندی سخت افزار سرور مجازی شما را می توان به سرعت و به راحتی به روز کرد، بنابراین در واقعیت، شما هرگز بیش از چند کلیک از منابع سخت افزاری که برای اطمینان از عملکرد تاول برانگیز نیاز دارید فاصله ندارید.
چگونه می دانید که نیاز به آپگرید سرور دارید؟
بدیهی است که کاهش سرعت بارگذاری سایت شما نشان دهنده اشتباه است. با این حال، بررسی لود سرور روش قابل اعتماد تری برای تعیین اینکه آیا ارتقاء صحیح است یا خیر.
VPS شما احتمالا دارای یک کنترل پنل است که اطلاعات دقیق زیادی در مورد بارگذاری سرور فعلی به شما میدهد.
- اگر از WHM/cPanel یا دایرکت ادمین استفاده می کنید، وارد داشبورد مدیریت شوید، به منوی server status رفته و وضعیت را ملاحظه نمائید
- اگر سرور شما کنترل پنل ندارد یا ترجیح می دهید از ترمینال استفاده کنید، می توانید با اجرای دستور htop از طریق SSH بار سرور را بررسی کنید.
داده های بار سرور برای استراتژی مقیاس پذیری آینده شما حیاتی است. به شما نشان می دهد که کدام مولفهها ممکن است باعث ایجاد گلوگاه شوند، بنابراین شما دقیقا می دانید چه چیزی را باید ارتقا دهید. این به ارائه دهنده هاست شما بستگی دارد که اطمینان حاصل کند که انعطاف پذیری برای مقیاس بندی خدمات به مقرون به صرفه ترین روش ممکن را دارید.
خدمات VPS ساخته شده بر روی زیرساخت ابری مناسب متفاوت است. سختافزار زیربنایی مجموعه عظیمی از منابع را فراهم میکند و به میزبانها اجازه میدهد تا یک سرویس فوقالعاده انعطافپذیر را ارائه دهند که میتواند در هر زمان راهحلی مقرونبهصرفه به شما ارائه دهد.
به عنوان مثال، مشتریان پارسدو این آزادی را دارند که سرورهای مجازی کاملا سفارشی با مقدار دقیق قدرت پردازش، حافظه و فضای ذخیره سازی مورد نیاز خود ایجاد کنند. تنها کاری که آنها باید انجام دهند این است که لغزندهها را تا زمانی که پیکربندی صحیحی داشته باشند حرکت دهند. چنین سیستمی شانس شما را برای دریافت VPS با منابع کافی با قیمت مناسب افزایش میدهد.
نتیجه
بدون شک میزبانی VPS برای هر کسی که در مورد وب سایت خود جدی است ضروری است. محیط ایزوله آن را قابل اعتمادتر و ایمن تر از برنامه های مشترک می کند، و وقتی صحبت از کارایی هزینه به میان می آید، سرورهای اختصاصی گران قیمت به سادگی نمی توانند با آن رقابت کنند.
با این حال، برای استفاده حداکثری از سرور مجازی خود، باید مطمئن شوید که پیکربندی سخت افزاری صحیحی دارد. دانستن نحوه عملکرد CPU و RAM قطعا به شما در انجام آن کمک خواهد کرد.