خطای Resource Limit Is Reached را دیدهاید؟
صفحه سفید با متن Resource Limit Is Reached یا خطای 508 روی سایت شما ظاهر شده و بعد از چند دقیقه خودبهخود برطرف شده است. احتمالاً با پشتیبانی هاست تماس گرفتهاید و پاسخ شنیدهاید: «محدودیت entry process مصرف شده.» حالا سؤال این است: entry process دقیقاً چیست و چرا سایت شما به آن رسیده است؟
Entry process یک فرآیند پردازشی همزمان در وبسرور است که درخواست HTTP شما را اجرا میکند. هر بار که مرورگر کاربر یا ربات گوگل درخواستی به سرور میفرستد، وبسرور (Apache یا LiteSpeed) یک worker یا process را به آن اختصاص میدهد. این فرآیند تا زمانی که پاسخ کامل تولید و ارسال شود، درگیر است.
محدودیت entry process یعنی سقف تعداد این فرآیندهای همزمان برای حساب شما. این عدد با تعداد بازدید تفاوت بنیادی دارد. یک سایت با ۱۰ هزار بازدید روزانه میتواند هرگز به این محدودیت نرسد، در حالی که سایتی با ۲۰۰ بازدید روزانه مدام خطا میدهد.
تفاوت entry process با بازدید و ربات
بازدید یک عدد تجمعی در طول روز است. Entry process یک عدد لحظهای است. تصور کنید یک فروشگاه فیزیکی دارید. تعداد کل مشتریانی که در طول روز وارد میشوند، بازدید شماست. اما entry process تعداد مشتریانی است که در یک لحظه در صندوقها در حال پرداخت هستند. اگر فقط دو صندوق داشته باشید و ۵۰ مشتری همزمان بخواهند خرید کنند، ۴۸ نفر منتظر میمانند یا فروشگاه را ترک میکنند.
در هاست اشتراکی، هر اکانت سهم مشخصی از منابع پردازشی دارد. این سهم معمولاً بین ۱۰ تا ۵۰ entry process است. وقتی سایت شما بیش از این تعداد درخواست همزمان داشته باشد، درخواستهای اضافی با خطای 508 رد میشوند.
رباتهای موتور جستجو رفتار متفاوتی دارند. گوگلبات معمولاً بین ۲ تا ۵ درخواست همزمان میفرستد. اما رباتهای دیگر مثل Semrush یا Ahrefs میتوانند ۲۰ تا ۳۰ درخواست همزمان ارسال کنند. یک حمله ساده یا خزش بیرویه میتواند کل سهم شما را در چند ثانیه مصرف کند.
چرا سایت شما به سقف میرسد؟
مصرف entry process فقط به تعداد درخواستها بستگی ندارد. مدت زمان پاسخگویی هر درخواست نقش مهمتری دارد. اگر هر درخواست ۲ ثانیه طول بکشد، هر process فقط میتواند ۰.۵ درخواست در ثانیه پردازش کند. با ۲۰ entry process، سقف شما حدود ۱۰ درخواست در ثانیه است. اما اگر هر درخواست ۰.۲ ثانیه طول بکشد، همان ۲۰ process میتوانند ۱۰۰ درخواست در ثانیه را پاسخ دهند.
اینجا اشتباه میکنند: اکثر افراد به دنبال افزایش محدودیت entry process هستند، در حالی که مشکل اصلی کندی سایت است. یک اسکریپت PHP که ۵ ثانیه اجرا میشود، ۱۰ برابر بیشتر از یک اسکریپت بهینه که ۰.۵ ثانیه کار میکند، entry process مصرف میکند. وردپرس با افزونههای سنگین و کوئریهای بیرویه، یکی از بزرگترین مصرفکنندههای این منابع است.
خطای 508 و رفتار وبسرور
وقتی به سقف میرسید، وبسرور رفتار متفاوتی نشان میدهد. در LiteSpeed، پاسخ HTTP با کد 508 برمیگردد و متن خطا معمولاً این است:
Resource Limit Is Reached
The website is temporarily unable to service your request as it exceeded resource limit.
Please try again later.
در Apache با ماژول mod_mpm، رفتار متفاوت است. درخواستهای اضافی در صف منتظر میمانند تا یک process آزاد شود. اگر صف پر شود، خطای 503 Service Unavailable نمایش داده میشود. تفاوت مهم است: 508 یعنی درخواست شما اصلاً پردازش نشده، 503 یعنی در صف مانده و بعد از timeout رها شده است.
مدت زمان این خطا معمولاً کوتاه است. وقتی یک درخواست سنگین تمام شود، process آزاد میشود و سایت دوباره پاسخ میدهد. به همین دلیل است که با رفرش کردن صفحه بعد از چند دقیقه، سایت کار میکند. این الگو را جدی بگیرید: اگر خطا مرتب تکرار میشود، مشکل ساختاری است و خودبهخود حل نمیشود.
نحوه بررسی مصرف entry process
در سیپنل، بخش Metrics > Resource Usage را باز کنید. این صفحه نمودار مصرف CPU، حافظه و entry process را در بازههای زمانی مختلف نشان میدهد. اگر مصرف entry process مرتب به سقف میرسد، الگوی آن را بررسی کنید. آیا در ساعت خاصی از روز است؟ آیا بعد از انتشار یک مطلب جدید رخ میدهد؟
دستور زیر را در SSH اجرا کنید تا تعداد فرآیندهای فعال PHP را ببینید:
ps aux | grep php | grep -v grep | wc -l
این عدد تقریبی از مصرف فعلی شماست. اگر مرتب بالای ۱۵ است و محدودیت شما ۲۰ است، مشکل جدی دارید. اما اگر این عدد زیر ۵ است و باز هم خطای 508 میبینید، مشکل جای دیگری است. احتمالاً یک درخواست خارجی مثل ربات یا کرون جاب خراب، منابع را مصرف میکند.
راهکارهای عملی برای کاهش مصرف
اولین اقدام، بهینهسازی وردپرس است. اگر سایت شما وردپرسی است، راهنمای جامع بهینهسازی وردپرس روی هاست اشتراکی را بخوانید. نکته اصلی: افزونههای غیرضروری را حذف کنید، کش صفحه را فعال کنید و از یک افزونه کش مانند LiteSpeed Cache استفاده کنید. کش کردن میتواند مصرف entry process را تا ۸۰ درصد کاهش دهد.
دومین اقدام، محدود کردن رباتهاست. فایل robots.txt را بررسی کنید و رباتهای غیرضروری مثل Bingbot یا Yandex را در صورت عدم نیاز مسدود کنید. برای رباتهای خزشگر سنگین، نرخ درخواست را محدود کنید. در LiteSpeed Cache میتوانید از قابلیت Throttle استفاده کنید تا حداکثر درخواست هر ربات را تعیین کنید.
سومین اقدام، بررسی کرون جابهاست. یک کرون جاب که هر دقیقه اجرا میشود و اسکریپت سنگینی را فراخوانی میکند، میتواند به تنهایی ۵ تا ۱۰ entry process را اشغال کند. در سیپنل بخش Cron Jobs را باز کنید و ببینید چه چیزی اجرا میشود. راهنمای ساخت کرون جاب در کنترلپنل را برای مدیریت صحیح بخوانید.
چه زمانی باید ارتقا دهید؟
اگر بعد از بهینهسازی، باز هم به سقف میرسید، دو گزینه دارید. اول: ارتقا به پلن بالاتر هاست اشتراکی که entry process بیشتری دارد. دوم: مهاجرت به سرور اختصاصی که در آن محدودیت entry process وجود ندارد و تمام منابع سرور در اختیار شماست.
معیار تصمیمگیری ساده است. اگر مصرف شما ۱.۵ برابر سقف است، ارتقا به پلن بالاتر هاست اشتراکی منطقی است. اما اگر مصرف شما ۳ برابر سقف است یا به صورت مداوم در حال رشد است، سرور اختصاصی انتخاب بهتری است. هزینه سرور اختصاصی بیشتر است، اما محدودیت منابع را یکبار برای همیشه حل میکند.
یک نکته مهم: اگر سایت شما فروشگاهی است یا ترافیک بالایی در ساعات خاص دارد (مثل حراجهای شبانه)، نوسان مصرف entry process طبیعی است. در این حالت، پلنی را انتخاب کنید که حداقل ۲ برابر مصرف میانگین شما entry process داشته باشد. این بافر، ضربههای ناگهانی ترافیک را جذب میکند.
خطای 508 در وردپرس و افزونههای سنگین
وردپرس به دلیل معماری خود، برای هر درخواست PHP چندین فایل را شامل میشود. هر افزونه فعال، کد خود را به اجرا اضافه میکند. یک سایت با ۳۰ افزونه فعال، به طور میانگین ۳ تا ۵ برابر یک سایت با ۱۰ افزونه، entry process مصرف میکند. این عدد را جدی بگیرید.
ابزارهای صفحهساز مانند Elementor یا Divi نیز مصرف بالایی دارند. اگر از این ابزارها استفاده میکنید، حتماً کش صفحه را فعال کنید تا خروجی HTML نهایی ذخیره شود و PHP برای هر بازدید اجرا نشود. بدون کش، هر بازدید یک اجرای کامل PHP است که میتواند ۱ تا ۲ ثانیه طول بکشد.
برای بررسی دقیق مشکل، صفحه سفید وردپرس را خطایابی کنید. راهنمای رفع صفحه سفید در وردپرس و PHP مراحل عملی را نشان میدهد. معمولاً غیرفعال کردن یک افزونه خاص، مشکل را حل میکند.
ابزارهای بررسی و مانیتورینگ
برای اینکه بفهمید دقیقاً چه چیزی entry process مصرف میکند، به لاگهای سرور مراجعه کنید. در سیپنل، بخش Metrics > Errors را باز کنید و لاگهای Apache یا LiteSpeed را بررسی کنید. آدرس IPهایی که بیشترین درخواست را دارند، پیدا کنید و با سرویس ابزارهای رایگان وبمستر بررسی کنید که آیا این IP متعلق به ربات است یا کاربر واقعی.
اگر ربات خاصی مشکل ایجاد میکند، میتوانید آن را در فایل .htaccess مسدود کنید:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (SemrushBot|AhrefsBot|MJ12bot) [NC]
RewriteRule .* - [F,L]
این کد رباتهای سنگین را با خطای 403 رد میکند. اما مراقب باشید: گوگلبات را مسدود نکنید. مسدود کردن گوگلبات باعث حذف سایت از نتایج جستجو میشود.
پرسشهای پرتکرار
Entry process چند است و از کجا بفهمم محدودیتم چقدر است؟
محدودیت entry process در پلن هاست اشتراکی شما مشخص شده است. در سیپنل، بخش Resource Usage را باز کنید. اگر محدودیت نمایش داده نشد، با پشتیبانی هاست تماس بگیرید. معمولاً پلنهای پایه ۱۰ تا ۱۵ و پلنهای بالاتر ۲۰ تا ۵۰ entry process دارند.
آیا افزایش بازدید باعث خطای 508 میشود؟
نه لزوماً. خطای 508 به درخواستهای همزمان بستگی دارد، نه تعداد کل بازدیدها. سایتی با ۵۰۰۰ بازدید روزانه که به صورت یکنواخت توزیع شده، ممکن است هرگز به سقف نرسد. اما سایتی با ۵۰۰ بازدید که همه در یک ساعت خاص میآیند، احتمالاً خطای 508 میگیرد.
خطای 508 با 503 چه تفاوتی دارد؟
خطای 508 یعنی درخواست شما به دلیل رسیدن به سقف entry process رد شده است. خطای 503 یعنی سرور درخواست را پذیرفته اما به دلیل شلوغی نتوانسته پاسخ دهد. در هاست اشتراکی، 508 بیشتر رایج است. در سرور اختصاصی، معمولاً 503 میبینید.
آیا ارتقای پلن هاست مشکل entry process را حل میکند؟
اگر مشکل از کندی سایت یا رباتهای سنگین باشد، ارتقا فقط مشکل را موقتاً حل میکند. ابتدا سایت را بهینه کنید و رباتها را مدیریت کنید. اگر بعد از این کارها باز هم به سقف میرسید، ارتقا منطقی است. در غیر این صورت، هزینه اضافی پرداخت کردهاید و مشکل بعداً برمیگردد.