«سرور کند است، رم را دو برابر کنیم» پرهزینهترین واکنش غریزی در دنیای میزبانی است. گاهی درست است. اما بیشتر وقتها ماشین منتظر دیسک است یا CPU تا ته پر شده، و حافظهٔ تازه بیکار میماند در حالی که صورتحساب دو برابر میشود.
پس پیش از اینکه دربارهٔ این حرف بزنیم که چه کسی به 64 GB نیاز دارد، بیایید ببینیم واقعاً چه چیزی کم دارید. اگر فقط عددهای معمول حافظه برای هر نوع بار را میخواهید، در راهنمای قبلی ما یک VPS چقدر رم لازم دارد آمدهاند، همراه با فرمول مدلهای زبانی. این نوشته دربارهٔ تشخیص است: رم، دیسک یا CPU.
سه فرمان، دو دقیقه
آنها را روی سرور کند، همان وقتی که کند است اجرا کنید، نه ساعت چهار صبح که هیچ اتفاقی نمیافتد:
free -m
vmstat 1 10
cat /proc/pressure/cpu /proc/pressure/memory /proc/pressure/io
اینطور بدون کتاب درسی بخوانیدشان.
فرمان free -m. ستون free را نادیده بگیرید؛ Linux عمداً حافظهٔ آزاد را با کش دیسک پر میکند. به available نگاه کنید. اگر روی ماشینی با 2 GB فقط چند صد مگابایت نشان بدهد و used در swap مدام بالا برود، حافظه تنگ است.
فرمان vmstat 1 10. چهار ستون بیشتر ماجرا را میگویند:
| ستون | معنی | نشانهٔ |
|---|---|---|
si / so | صفحههای واردشده به swap و خارجشده از آن در هر ثانیه | رم |
wa | درصد زمانی که CPU منتظر دیسک است | دیسک |
us + sy | درصد زمانی که CPU کار میکند | CPU |
st | درصد زمانی که هایپروایزر CPU شما را به دیگری داده | CPU (vCPU با دیگران تقسیم میشود) |
چند مقدار غیرصفر در si/so گاهبهگاه طبیعی است. نشانهٔ واقعی swap پیوسته است، ثانیه به ثانیه.
فایلهای /proc/pressure/*. صادقترین از میان این سه. هر فایل نشان میدهد چه سهمی از زمان، کارها در انتظار آن منبع متوقف بودهاند. some avg60=25.00 در memory یعنی در دقیقهٔ گذشته چیزی یکچهارم وقت منتظر حافظه بوده است. هر فایلی که بزرگترین عددها را دارد، گلوگاه شماست.
اگر مشکل از دیسک است
wa بالا، فشار io بالا، swap کم. علت معمول، پایگاهداده یا برنامهای پرلاگ است که بیش از ظرفیت کش میخواند.
و اینجا پیچ ماجراست: رم بیشتر میتواند این را حل کند، چون Linux بخش بزرگتری از دیسک را کش میکند. اگر پایگاهدادهٔ شما 6 GB باشد و بخش داغش 3 GB، رفتن از 2 GB به 8 GB حافظه ممکن است مشکل دیسک را از بین ببرد. اما اگر پایگاهداده 300 GB باشد و هر کوئری بخش تازهای را لمس کند، هیچ مقدار معقولی از رم نمیتواند آن را کش کند. آن وقت راهحل ایندکسهای بهتر، کوئریهای کوچکتر یا چیدمان دیگری برای داده است. همهٔ تعرفههای اینجا روی NVMe اجرا میشوند، پس بخش کند بهندرت خود دیسک است. معمولاً شیوهٔ دسترسی به آن است.
اگر مشکل از CPU است
us+sy بالا، فشار cpu، بدون swap، انتظار کم برای دیسک. فشردهسازی، build، کدگذاری ویدیو، پردازش تصویر، محاسبات رمزنگاری. حافظهٔ بیشتر اینجا هیچ کمکی نمیکند.
به st هم دقت کنید. در VPS، هر vCPU سهمی از زمان یک هستهٔ فیزیکی است، نه کل هسته: عدد تعرفه سقفی برای جهشهای کوتاه است، و بار کامل طولانی ممکن است محدود شود تا برای همهٔ کسانی که روی ماشیناند منصفانه بماند. اگر کار شما ساعتها همهٔ هستهها را روی 100٪ میخواهد، این مسئلهٔ خود کار است، و ترجیح میدهیم همین حالا بگوییم، نه بعد از اینکه تعرفهٔ بزرگتری خریدید.
اگر واقعاً رم است
swap پیوسته، فشار حافظهٔ رو به افزایش، OOM killer در dmesg. حالا سؤال این است: چقدر.
2 GB کافی است، اغلب برای سالها، برای: یک یا چند ربات، یک API کوچک، یک VPN، یک سایت ایستا پشت Nginx، چند اسکرپر روی cron، یک ایجنت پایش. Micro با 2 vCPU، 2 GB و 25 GB ماهانه 5 دلار روی NAT است، یا 10 دلار با IPv4 اختصاصی.
4–8 GB میانهٔ راحت است: یک اپ وب همراه پایگاهدادهاش، یک ایندکس جستوجوی کوچک، خودکارسازی مرورگر بدون رابط، دو سه ایجنت کنار هم.
32–64 GB برای دادهای است که باید در حافظه زندگی کند:
- پایگاهدادهای که مجموعهٔ کاریاش دهها گیگابایت است، تا کش واقعاً دادهٔ داغ را نگه دارد؛
- کش یا صف بزرگ درون حافظه که نمیتواند بدون کند کردن همهچیز به دیسک سرریز شود؛
- ایندکس برداری برای جستوجو در میلیونها قطعه (عددهای واقعی در RAG خودمیزبان در مقیاس بزرگ)؛
- استنتاج یک مدل زبانی متوسط روی CPU، که وزنهایش باید در رم جا شوند؛
- تجمیع: ده سرویسی که پیشتر روی ده سرور کوچک بودند.
Pro-64 برای همین است: 12 vCPU، 64 GB رم، 600 GB حافظهٔ NVMe و یک IPv4 اختصاصی با ماهانه 70 دلار. پلههای میانی Pro-32 با 40 دلار و Pro-48 با 55 دلار هستند؛ بالاتر از آن Pro-80 با 90 دلار. در دسترس بودن موقعیتها برای تعرفههای Pro هنگام سفارش نمایش داده میشود.
جایی که ماشین بزرگ مناسب نیست
سه حالت که 64 GB پاسخ اشتباه است، حتی اگر از عهدهاش بربیایید.
کار با GPU. هیچکدام از این تعرفهها GPU ندارند. اگر مدل شما برای آموزش یا استنتاج سریع به GPU نیاز دارد، یک ماشین CPU با رم زیاد اجرایش میکند، اما آهسته، و شما بهای صبر را میپردازید.
کارهای طولانی با CPU کامل. همانطور که گفتیم: vCPU ظرفیتی برای جهشهاست. دوازدهتا از آنها روی 100٪ شبانهروز، کاری نیست که VPS برایش ساخته شده.
و «محض احتیاط». اگر سه فرمان فشار حافظه نشان ندهند، 60 GB اضافه کش فایلهایی میشود که نمیخوانیدشان. کوچکتر شروع کنید. رفتن به تعرفهٔ بزرگتر از همان نوع شبکه، vCPU و رم و دیسک را در جا و با یک ریاستارت اضافه میکند، همانطور که در تغییر تعرفه آمده است. کوچک کردن در جا ممکن نیست، پس خرید بیش از اندازه هزینهٔ واقعی دارد: برای کوچک شدن باید به سرور تازه مهاجرت کنید، و انتقال VPS بدون قطعی کاری است که ترجیح میدهید لازمش نداشته باشید.
اگر تعرفههای ارائهدهندگان مختلف را مقایسه میکنید، چطور مشخصات VPS را بخوانیم توضیح میدهد عددهای vCPU، دیسک و پورت واقعاً چه وعدهای میدهند.
نظرات
هنوز نظری نیست. اولین نفر باشید.