انتخاب منابع سرور مجازی برای وردپرس: رم و CPU چقدر کافی است؟
سؤال چند گیگ رم و چند هسته کافیه جواب عددی ثابتی ندارد و به نوع سایت و تعداد کاربران هم زمان بستگی دارد. در این مطلب روش پنج مرحله ای برآورد منابع را با هم مرور می کنیم.

سؤال «چند گیگ رم و چند هسته کافیه؟» یه جواب عددی نداره. برای یه سایت معرفی ساده با کش درست، یه سرور کوچک (حدود ۱ تا ۲ هسته و ۲ گیگابایت رم) معمولاً شروع قابل قبولیه. فروشگاه و سایت عضویتی باید از بالاتر شروع کنن. ولی انتخاب منابع سرور مجازی رو نباید به «تعداد بازدید ماهانه» گره بزنی. چیزی که مهمه نوع سایت، تعداد کاربران هم زمان و سنگینی افزونه هاست. پایین تر یه روش پنج مرحله ای و یه جدول داری که باهاشون منابع سایتت رو برآورد می کنی و بعد با داده ی واقعی اصلاحش می کنی.
رم و CPU توی سرور وردپرسی دقیقاً چه کاری می کنن؟
سرور رو مثل آشپزخونه ی یه رستوران ببین. رم اندازه ی میز کاره: هر سفارشی که در حال آماده شدنه روش جا می گیره. اگه میز پر بشه، سفارش ها می رن روی زمین، یعنی روی دیسک (swap)، و همه چیز کند می شه. CPU تعداد آشپزهاست. آشپز بیشتر یعنی سفارش های بیشتری هم زمان پخته می شه. ولی اگه میز کوچیک باشه، آشپز اضافه هم کمکی نمی کنه، چون جایی برای کار کردن نداره.
رم رو این ها می گیرن:
- پردازش های PHP که هر صفحه ی بدون کش رو می سازن
- پایگاه داده (MySQL یا MariaDB)
- سیستم عامل و سرویس هایی مثل وب سرور
- کش داخل حافظه، اگه فعالش کرده باشی
- خود سی پنل و WHM، اگه نصب باشه
فشار روی CPU وقتی پیدا می شه که صفحه ها کش نشده باشن، کوئری سنگین اجرا بشه یا کار پس زمینه فعال باشه: بکاپ، اسکن امنیتی، ایمپورت محصول، ساخت تصویر بندانگشتی.
یه نکته که تصمیمت رو راحت تر می کنه: توی سایت وردپرسی معمولاً رم زودتر از CPU مرز رو نشون می ده. استثنا وقتیه که سایت کش نداره یا کدش بد نوشته شده. اون موقع CPU هم زود به سقف می رسه.
سهم سی پنل از منابع
سرور با سی پنل از یه سرور خام سنگین تره. خود پنل، سرویس ایمیل، DNS و ابزارهای امنیتی هر کدوم یه مقدار رم و CPU می خورن، حتی وقتی هیچ بازدیدکننده ای نیست. حداقل منابع پیشنهادی رو باید از مستندات رسمی cPanel بخونی، چون با نسخه ها عوض می شه. فقط یه چیز رو یادت نگه دار: اگه مدیریت با سی پنل برات راحت تره، این سربار رو از اول توی حساب رم بیار. با سی پنل، ۲ گیگ رم حاشیه ی کمی بهت می ده. اگه سرویس ایمیل رو جای دیگه ببری یا چیزهایی رو خاموش کنی، سرور سبک تر می شه. ولی این کار رو آگاهانه انجام بده، نه از سر حدس.

بازدید ماهانه رو ول کن، هم زمانی رو حساب کن
فرض کن دو نفر بهت می گن سایتشون ماهی ۵۰ هزار بازدید داره. اولی وبلاگ خبریه و بازدیدها طول روز پخش شده. دومی فروشگاهیه که شب جمعه کمپین تخفیف می ذاره و نصف بازدیدها توی دو ساعت میاد. عدد ماهانه ی هر دوشون یکیه، ولی فشاری که به سرور دومی میاد خیلی بیشتره.
چیزی که سرور رو زمین می زنه، درخواست های بدون کشه که هم زمان می رسن. چند تا تفاوت مهم:
- صفحه ی کش شده تقریباً مجانیه. وب سرور فقط یه فایل آماده تحویل می ده.
- صفحه ی بدون کش باید PHP اجرا کنه و چند بار از پایگاه داده بپرسه.
- سبد خرید، صفحه ی پرداخت، حساب کاربری و جست وجوی داخلی معمولاً کش نمی شن. برای همین فروشگاه و سایت عضویتی معمولاً سنگین ترن.
- ربات ها و خزنده ها هم حساب می شن. گاهی سهم بزرگی از فشار سرور مال اون هاست و تو اصلاً نمی بینیش.
یه برآورد ساده با مثال فرضی
این عددها فقط مثاله، نه آمار واقعی.
فرض کن توی ساعت اوج حدود ۵ درخواست بدون کش در ثانیه داری و هر کدوم حدود نیم ثانیه طول می کشه. یعنی به طور میانگین حدود ۲ یا ۳ پردازش PHP هم زمان مشغولن. برای اینکه اوج های کوتاه رو هم تحمل کنی، حاشیه ی دو تا سه برابر بذار، یعنی حدود ۸ پردازش. اگه هر پردازش با ووکامرس و چند افزونه حدود ۱۰۰ مگابایت رم بگیره، فقط PHP می شه حدود ۸۰۰ مگابایت. حالا سیستم عامل و سی پنل (حدود یک گیگ یا بیشتر، بسته به سرویس های روشن) و پایگاه داده (چند صد مگابایت) رو اضافه کن. جمع می شه حدود ۲ تا ۳ گیگ. پس سرور ۴ گیگابایتی انتخاب منطقی تریه و ۲ گیگ برای این سایت مرزیه.
عدد هر پردازش رو باید روی سایت خودت اندازه بگیری. پایین تر نشون می دم چطور.
انتخاب منابع سرور مجازی در پنج قدم
ما هم همین روش رو دنبال می کنیم. جادویی توش نیست، فقط ترتیب داره.
قدم اول: نوع سایتت رو مشخص کن
سایتت بیشتر محتواییه (بلاگ، شرکتی) یا تعاملی (فروشگاه، آموزش آنلاین، عضویت، رزرو)؟ سایت های محتوایی با کش خوب خیلی سبک می شن. تعاملی ها نه.
قدم دوم: ساعت اوج رو پیدا کن
از آمار سایت یا لاگ دسترسی بپرس: بیشترین ترافیک کی میاد؟ توی ایران معمولاً الگو مشخصه: شب ها حدود ساعت ۲۰ تا ۲۳، بعد از ارسال پیامک یا کمپین اینستاگرامی، و روزهای مناسبتی مثل یلدا و شب عید. برآورد رو برای همون ساعت ها بکن، نه برای میانگین روز.
قدم سوم: افزونه ها رو دسته بندی کن
لیست افزونه هات رو بنویس و کنار هر کدوم بنویس چه کاری می کنه. کدوم ها روی هر صفحه کار می کنن و کدوم ها فقط توی پنل مدیریت یا زمان بندی شده اجرا می شن؟ پایین تر بیشتر درباره ش می گم.
قدم چهارم: یه نقطه ی شروع انتخاب کن
از جدول پایین یه شروع بردار. از بالاترین حدست شروع نکن. سرور مجازی رو معمولاً می شه بعداً ارتقا داد، پس لازم نیست از اول برای بدترین حالت پول بدی.
قدم پنجم: یک تا دو هفته اندازه بگیر
بعد از راه اندازی، مصرف واقعی رو ببین و بر اساسش کم یا زیادش کن. بدون این قدم، بقیه ی کار فقط حدسه.
کدوم سایت از کجا شروع کنه؟
این جدول فقط نقطه ی شروع رو نشون می ده، نه حکم نهایی. فرضش اینه که کش درست تنظیم شده و تعداد افزونه ها معقوله.
| نوع سایت | نقطه ی شروع تقریبی | شرط | نشانه ی نیاز به ارتقا |
|---|---|---|---|
| سایت معرفی یا شرکتی | ۱ تا ۲ هسته، حدود ۲ گیگ رم | کش فعال، تصویرهای بهینه | کندی فقط وقتی بکاپ یا به روزرسانی اجرا می شه |
| وبلاگ یا سایت خبری با ترافیک گوگل | ۲ هسته، ۲ تا ۴ گیگ رم | کش صفحه و CDN | رم بعد از چند ساعت پر و swap فعال می شه |
| فروشگاه ووکامرس | ۲ تا ۴ هسته، حدود ۴ گیگ رم | کش برای صفحات عمومی، دیتابیس مرتب | کندی در سبد خرید و بازگشت از درگاه پرداخت |
| سایت عضویتی یا آموزشی | ۴ هسته، ۴ تا ۸ گیگ رم | کش شیء (object cache) و کنترل کارهای زمان بندی شده | زمان پاسخ با ورود هم زمان کاربران بالا می ره |
| چند سایت روی یک سرور | جمع نیاز هر سایت به اضافه حاشیه | هر سایت حساب جدا | یک سایت پرمصرف بقیه رو کند می کنه |
برای حالت آخر، میزبانی چند سایت؛ حساب مشترک چه خطرهایی دارد؟ رو بخون. فقط جمع کردن منابع کافی نیست؛ ایزوله کردن سایت ها از هم هم مهمه.
افزونه ها بیشتر از تعداد بازدید فشار میارن
دو سایت با ترافیک مساوی رو در نظر بگیر. یکی ده افزونه ی ساده داره و اون یکی سی تا افزونه، از جمله صفحه ساز سنگین، افزونه ی آمار بازدید داخل پایگاه داده و چند افزونه ی امنیتی که هر درخواست رو اسکن می کنن. دومی با همون ترافیک ممکنه خیلی بیشتر منابع بخواد.
افزونه هایی که معمولاً گرون تموم می شن:
- صفحه سازهای سنگین که صدها کوئری و استایل اضافه می کنن
- آمار و گزارش داخلی که روی هر بازدید توی دیتابیس می نویسن
- افزونه های امنیتی با اسکن زنده، مخصوصاً اگه اسکن کامل رو ساعت اوج بذاری
- جست وجوی پیشرفته و فیلتر محصول روی کاتالوگ بزرگ
- افزونه های ایمپورت و همگام سازی با نرم افزار حسابداری یا انبار
بعضی کارها هم نباید توی پیک ترافیک اجرا بشن. بکاپ کامل، ایمپورت محصول و اسکن بدافزار رو بذار برای ساعت های خلوت، مثلاً ۳ تا ۶ صبح. بکاپ سی پنل؛ آموزش تهیه و آزمایش بازیابی سایت نشون می ده چطور بکاپی بگیری که هم قابل بازیابی باشه و هم سرور رو نخوابونه.
اشتباه های رایج
- فقط CPU رو زیاد کردن. اگه مشکل رم باشه، هسته ی بیشتر کاری نمی کنه.
- نگه داشتن افزونه ی بی مصرف. افزونه ی غیرفعال منابع نمی خوره، ولی اگه آپدیت نشه می تونه ریسک امنیتی باشه. اگه قرار نیست برگرده، پاکش کن.
- ارتقا به جای رفع علت. یه کوئری بد یا یه افزونه ی خراب با سرور بزرگ تر فقط دیرتر خودش رو نشون می ده.
- خرید بر اساس ترافیک روز عادی. اگه سالی چند بار کمپین بزرگ داری، برای همون روزها برنامه بریز.
بعد از خرید: مصرف واقعی رو ببین
دسترسی SSH داری؟ این دستورها تصویر کلی رو نشونت می دن:
nproc
free -h
top
nproc تعداد هسته ها رو می گه، free -h رم کل و آزاد و مقدار swap رو، و top پرمصرف ترین پردازش ها رو. چیزهایی که باید دنبالشون باشی:
- رم available (نه فقط free). لینوکس عمداً رم خالی رو برای کش فایل ها استفاده می کنه، پس «free» کم لزوماً خطر نیست.
- استفاده از swap. اگه swap مرتب پر و خالی می شه و همزمان سایت کند شده، رم کم داری.
- load average نسبت به تعداد هسته. اگه دائم از تعداد هسته ها بیشتر باشه، یا CPU کم آوردی یا چیزی بی خودی داره کار می کنه.
- تعداد و حجم پردازش های PHP توی ساعت اوج. میانگین رم هر کدوم (ستون RES توی
top) همون عددیه که توی برآورد قبلی لازم داشتی.
اگه SSH نداری یا باهاش راحت نیستی، سی پنل و WHM هم نمودار مصرف رو نشون می دن. ولی هیچی بهتر از یه نمودار ۲۴ ساعته ی ثبت شده نیست. یه ابزار مانیتورینگ ساده راه بنداز تا فقط یه لحظه رو نبینی و روند رو هم ببینی. اگه نمی خوای خودت وقتش رو بذاری، مانیتورینگ و پایداری این کار رو برات انجام می ده.

ایران چه چیزی رو عوض می کنه؟
چند واقعیت محلی هست که برآورد رو تغییر می ده.
ترافیک شب و کمپین. کاربر ایرانی بیشتر شب ها و بعد از پیام و استوری وارد می شه. فشار به شکل جهش میاد، نه یکنواخت. پس برآورد رو برای پیک بنویس و ببین سرور از پسش برمیاد یا نه.
درگاه پرداخت. بعد از برگشت از درگاه شاپرکی، سایت چند کار پشت سر هم می کنه: تایید پرداخت، تغییر وضعیت سفارش، ارسال پیامک و ایمیل. اگه همه ی این ها هم زمان برای ده ها سفارش اتفاق بیفته، سنگین می شه. تست کن که این مسیر زیر فشار جواب می ده.
اینترنت بین الملل. بعضی افزونه ها از سمت سرور به سرویس خارجی وصل می شن، مثل بررسی لایسنس، چک آپدیت یا آنالیتیکس. اگه ارتباط کند یا قطع باشه، پردازش PHP منتظر می مونه و رم رو نگه می داره. افزونه های وابسته به سرویس خارج رو بشناس یا جایگزین داخلی براشون پیدا کن.
کاربر داخل و CDN. اگه بیشتر مخاطبت ایرانیه، سرور داخل ایران معمولاً تاخیر کمتری داره. CDN تصویر و فایل های ثابت رو از دوش سرور برمی داره ولی صفحه های پویا رو نه. CDN برای سایت؛ آیا جای هاست قوی را می گیرد؟ دقیقاً همین مرز رو توضیح داده.
دامنه و DNS. این ها به منابع سرور ربطی ندارن، ولی گاهی کندیشون رو به اشتباه گردن سرور می ندازن. اگه تازه دامنه .ir گرفتی یا رکوردها رو عوض کردی، اول مطمئن شو مشکل از DNS نیست.
کی ارتقا بدی و کی اول بهینه کنی؟
همیشه اول بهینه کن، بعد پول بده. سه نشانه نشون می ده واقعاً نیاز به ارتقا داری:
- رم در ساعت اوج مرتب نزدیک سقفه و swap فعاله، با وجود کش و حذف افزونه های غیرضروری.
- load average بیشتر از تعداد هسته ها می مونه، نه فقط چند دقیقه.
- خطای 502، 503 یا timeout توی پیک ترافیک می بینی، در حالی که در ساعت عادی مشکلی نیست.
اگه سرعت فقط توی بعضی صفحه ها پایینه، شاید مشکل ارتقا نباشه. مثلاً اگه فقط بارگذاری اولیه ی صفحه کنده، بهبود LCP سایت؛ چرا بزرگ ترین عنصر صفحه دیر نمایش داده می شود؟ بیشتر از یه سرور بزرگ تر کمک می کنه.
قاعده ی ساده م اینه: اگه یه بهینه سازی ساده (مثل کش یا حذف یه افزونه) مشکل رو حل می کنه، سراغ ارتقا نرو. اگه مصرف واقعاً از ظرفیت بالاتر رفته، ارتقا منطقی ترین کاره، نه ماه ها دست و پا زدن. اگه نمی دونی کدوم حالت مال توئه، بهینه سازی سرعت یا میزبانی وب و سرور مجازی ایران می تونه کمکت کنه قبل از ارتقا ببینی گلوگاه کجاست.
سوالات متداول
۲ گیگابایت رم برای ووکامرس کافیه؟
برای فروشگاه کوچک با چند ده محصول، ترافیک کم و کش درست، می تونه شروع قابل قبولی باشه. ولی اگه سی پنل و چند سرویس اضافی هم روش باشه، حاشیه ت خیلی کمه و با رشد سفارش ها یا افزونه ها زود به مرز می رسی. اگه بودجه اجازه می ده، ۴ گیگ حاشیه ی امن تری به فروشگاه می ده.
هسته ی بیشتر بگیرم یا رم بیشتر؟
اول مصرف رو ببین. اگه swap فعاله یا رم available کمه، رم بیشتر بگیر. اگه load average بالاست و رم مشکلی نداره، هسته ی بیشتر کمک می کنه. توی بیشتر سایت های وردپرسی رم زودتر مشکل می سازه.
CDN جای ارتقای سرور رو می گیره؟
نه کامل. CDN فایل های ثابت مثل تصویر و استایل رو از سرور برمی داره و فشار رو کم می کنه. ولی سبد خرید، پرداخت و صفحات کاربری باز هم به سرور می رسن. برای سایت محتوایی کمک بزرگیه، برای فروشگاه فقط بخشی از کاره.
هر چند وقت یک بار برآورد منابع رو تکرار کنم؟
حداقل قبل از هر کمپین بزرگ و بعد از هر تغییر مهم مثل افزونه ی جدید، تغییر قالب یا افزایش محصول. اگه مانیتورینگ داری، روند چند ماه اخیر هم نشون می ده کی باید به ارتقا فکر کنی.
یه عدد برای شروع، یه هفته داده برای تصمیم
نه بازدید ماهانه معیار خوبیه، نه یه عدد جادویی. نوع سایت و ساعت اوج رو مشخص کن، از جدول یه نقطه ی شروع بردار و افزونه های سنگین رو بشناس. بعد یک تا دو هفته مصرف واقعی رو با free -h و top یا نمودار سی پنل ببین. اگه رم دائم پر بود، ارتقا بده. اگه نه، اول کش و افزونه ها رو مرتب کن. این طوری نه بی دلیل یه سرور گرون می خری، نه یه سرور کوچیک که شب کمپین زیر بار می ریزه.


