روی هاست اشتراکی، صدها سایت روی یک سرور اجرا میشوند. برای اینکه یک سایت پرمصرف همه را کند نکند، برای هر حساب سقف مصرف تعیین میشود. وقتی سایت به این سقف برسد، خطاهایی مثل 508 Resource Limit Is Reached یا ۵۰۳ میبینید و صفحات کند میشوند. در این مقاله محدودیت منابع هاست را به زبان ساده توضیح میدهیم: CPU، RAM، IO، IOPS، Entry Process، Number of Processes و Inode چه معنایی دارند، چطور مصرف را در سیپنل ببینید و چطور آن را کم کنید.
فهرست مطالب
چرا هاست محدودیت دارد؟
در هاست اشتراکی منابع یک سرور بین حسابها تقسیم میشود. ابزارهایی مثل CloudLinux LVE برای هر حساب یک «ظرف» با سقف مشخص میسازند. مزیت این کار برای شما این است که یک سایت دیگر روی همان سرور نمیتواند همه منابع را بگیرد و سایت شما را از کار بیندازد. «فضای نامحدود» یا «ترافیک نامحدود» هم معمولاً به معنی نبود محدودیتهای CPU و Inode نیست؛ همیشه مشخصات منابع پلن را بخوانید.
معنی هر محدودیت
| محدودیت | معنی | چه چیزی آن را پر میکند؟ |
|---|---|---|
| CPU (SPEED) | سهم پردازنده؛ معمولاً به درصد یک هسته (۱۰۰٪ = یک هسته کامل) | افزونههای سنگین، کوئریهای کند، رباتها و صفحات بدون کش |
| RAM (PMEM) | حافظه فیزیکی مجموع پردازههای حساب | PHP با memory_limit بالا، درونریزی فایل بزرگ، افزونههای صفحهساز |
| IO | سرعت خواندن و نوشتن روی دیسک (مگابایت بر ثانیه) | بکاپگیری، لاگهای حجیم، فایلهای کش زیاد |
| IOPS | تعداد عملیات دیسک در ثانیه | تعداد زیاد فایل کوچک، سشنهای فایلی |
| Entry Processes (EP) | تعداد درخواست همزمان PHP که در حال اجرا هستند | هجوم بازدیدکننده، حملات، درخواستهای کند که تمام نمیشوند |
| Number of Processes (NPROC) | کل پردازههای حساب، شامل Cron و SSH | Cronهای همپوشان، اسکریپتهای پسزمینه |
| Inode | تعداد کل فایلها و پوشهها | کشهای فایلی، ایمیلهای قدیمی، بکاپهای باز |
نکته مهم درباره Entry Process: این عدد به تعداد بازدیدکننده همزمان مربوط نیست، بلکه به درخواستهایی که همزمان در حال پردازش PHP هستند. صفحهای که در ۲۰۰ میلیثانیه ساخته میشود، با EP=۲۰ میتواند حدود ۱۰۰ درخواست در ثانیه را پاسخ دهد؛ اما اگر یک کوئری ۱۰ ثانیه طول بکشد، چند بازدیدکننده کافی است تا سقف پر شود. پس سریع کردن صفحات، مؤثرترین راه کاهش EP است.
Inode چیست؟
در سیستمفایل لینوکس، هر فایل یا پوشه یک Inode مصرف میکند؛ بدون توجه به حجم آن. یعنی یک فایل ۱ کیلوبایتی و یک فایل ۱ گیگابایتی هر کدام یک Inode حساب میشوند. ممکن است فضای دیسک شما خالی باشد اما به سقف Inode برسید و دیگر نتوانید فایل بسازید، ایمیل بگیرید یا افزونه نصب کنید. مقصران معمول:
- کش فایلی افزونههای کش که پاکسازی ندارد
- هزاران ایمیل قدیمی در صندوقها (هر ایمیل یک فایل است)
- پوشههای
node_modulesیاvendorبلااستفاده - تصاویر بندانگشتی در اندازههای متعدد
- فایلهای سشن قدیمی
برای پیدا کردن پوشههای پرفایل، در Terminal سیپنل (اگر فعال است):
cd ~
for d in */ .[!.]*/; do echo "$(find "$d" | wc -l) $d"; done 2>/dev/null | sort -rn | head
بررسی مصرف در سیپنل
- نوار کناری Statistics: فضای دیسک، Inode (File Usage)، CPU، RAM و Entry Process لحظهای را نشان میدهد.
- Resource Usage: در هاستهای CloudLinux، این بخش نمودار مصرف ۲۴ ساعت و ۷ روز گذشته و زمانهایی که به سقف رسیدهاید (Faults) را نشان میدهد. Faultها مهمترین شاخصاند: یعنی درخواست واقعاً محدود یا رد شده است.
- Disk Usage: حجم پوشهها را نشان میدهد.
- Metrics > Visitors و Awstats: برای تشخیص رباتها و IPهای پرمصرف.
خطاهای ناشی از رسیدن به سقف
- 508 Resource Limit Is Reached: معمولاً پر شدن Entry Process یا NPROC.
- 503 Service Unavailable: ممکن است نشانه محدودیت منابع یا مشکل PHP باشد؛ راهنمای رفع خطای ۵۰۳.
- ۵۰۰ Internal Server Error یا صفحه سفید: اتمام RAM یا memory_limit در PHP؛ بیشتر در رفع خطای ۵۰۰.
- کندی ناگهانی بدون خطا: محدود شدن CPU یا IO؛ درخواستها رد نمیشوند اما در صف میمانند.
- Disk quota exceeded یا عدم دریافت ایمیل: پر شدن فضا یا Inode.
کاهش مصرف منابع
- کش صفحه کامل: با LiteSpeed Cache یا افزونه کش مشابه، صفحات بدون اجرای PHP تحویل داده میشوند. بزرگترین اثر را دارد؛ راهنما در افزایش سرعت وردپرس.
- افزونههای اضافه را حذف کنید: هر افزونه فعال در هر درخواست بارگذاری میشود. افزونههای آمار، امنیت سنگین و اسکن خودکار را بررسی کنید.
- رباتهای بد را محدود کنید: رباتهای SEO و کراولرهای ناشناس گاهی بیشتر از کاربران واقعی منابع میگیرند.
- WP-Cron را به Cron واقعی منتقل کنید: در
wp-config.phpمقدارdefine('DISABLE_WP_CRON', true);را بگذارید و یک Cron هر ۱۵ دقیقه در cPanel بسازید. - دیتابیس را بهینه کنید: Revisionها، Transientهای منقضی و جداول افزونههای حذفشده را پاک کنید.
- تصاویر را فشرده کنید و اندازههای بندانگشتی بلااستفاده را غیرفعال کنید.
- بکاپ را از روی هاست خارج کنید: فایلهای zip قدیمی را حذف کنید. راهنمای بکاپ وردپرس.
- ایمیلهای قدیمی را آرشیو کنید تا Inode آزاد شود.
کی باید پلن را ارتقا داد؟
اگر بعد از بهینهسازی هم Faultها ادامه دارد، سایت واقعاً بزرگتر از پلن شده است. نشانهها: Fault روزانه در ساعات اوج، رشد پایدار ترافیک، فروشگاه با سبد خرید و کاربران وارد شده (که کش صفحه کمتر کمک میکند). اول یک پلن بالاتر هاست را امتحان کنید؛ اگر به منابع اختصاصی، تنظیم سرور یا نرمافزار خاص نیاز دارید، زمان مهاجرت به سرور مجازی است. مقایسه در هاست اشتراکی یا VPS.
سوالات متداول
یک بار رسیدن به سقف مشکل است؟
نه. Faultهای پراکنده (مثلاً هنگام بکاپ شبانه) طبیعی است. Faultهای مکرر در ساعات اوج بازدید نیاز به بررسی دارد.
چرا فضای دیسک خالی است ولی نمیتوانم فایل آپلود کنم؟
احتمالاً به سقف Inode رسیدهاید. تعداد فایلها را در نوار Statistics سیپنل (File Usage) بررسی کنید.
افزایش memory_limit در PHP مشکل را حل میکند؟
فقط اگر خطای «Allowed memory size exhausted» دارید. افزایش بیدلیل آن، مصرف RAM کل حساب را بیشتر و احتمال رسیدن به سقف را بالاتر میبرد.
هاست با منابع شفاف و پشتیبانی فنی
هاست ابری تراست هاست روی دیسک NVMe اجرا میشود و هاست سیپنل مدیریت سایت و ایمیل را ساده میکند. اگر نمیدانید علت کندی سایت منابع است یا کد، از پشتیبانی بخواهید Resource Usage حساب را با شما بررسی کند.