خطای Resource Limit Is Reached در وردپرس چیست؟

زمان مطالعه: 7 دقیقه

خطای Resource Limit Is Reached در وردپرس زمانی نمایش داده می‌شود که سایت بیش از مقدار منابعی که برای حساب میزبانی آن تعیین شده، از منابع سرور استفاده کند. این منابع می‌توانند شامل CPU، حافظه RAM، تعداد پردازش‌های هم‌زمان، ورودی و خروجی دیسک یا سایر محدودیت‌های تعریف‌شده روی هاست باشند. این خطا در بسیاری از سرویس‌های میزبانی با کد 508 نیز نمایش داده می‌شود.

اگر هنگام ورود به سایت یا باز کردن یکی از صفحات وردپرس با پیام‌هایی مانند Resource Limit Is Reached یا 508 Resource Limit Is Reached مواجه شده‌اید، معمولاً مشکل از این است که در همان لحظه منابع اختصاص‌یافته به هاست به سقف خود رسیده‌اند.

در چنین شرایطی، خرید هاست وردپرس می‌تواند برای سایت‌هایی که به منابع بیشتری برای اجرای وردپرس نیاز دارند، یکی از بهترین گزینه‌ها باشد. البته قبل از افزایش منابع، بهتر است علت اصلی مصرف بالای منابع مشخص شود؛ زیرا گاهی یک افزونه، قالب یا اسکریپت خاص باعث ایجاد این مشکل می‌شود.

خطای Resource Limit Is Reached در وردپرس
خطای Resource Limit Is Reached در وردپرس

چرا خطای Resource Limit Is Reached در وردپرس ایجاد می‌شود؟

علت خطای Resource Limit Is Reached همیشه یکسان نیست. ممکن است یک سایت به دلیل افزایش ناگهانی بازدید با محدودیت منابع مواجه شود یا یک افزونه و اسکریپت باعث ایجاد پردازش‌های غیرعادی شود. همچنین ممکن است منابع هاست برای حجم فعلی سایت کافی نباشد.

مهم‌ترین دلایل ایجاد این خطا عبارت‌اند از:

مصرف بیش از حد CPU و RAM

وردپرس برای اجرای درخواست‌های کاربران، پردازش PHP، اجرای افزونه‌ها، ارتباط با دیتابیس و انجام وظایف مختلف از منابع سرور استفاده می‌کند. اگر تعداد درخواست‌ها زیاد شود یا پردازش‌های سنگینی روی سایت انجام شود، مصرف CPU و RAM افزایش پیدا می‌کند.

برای مثال، یک افزونه ممکن است هنگام بارگذاری هر صفحه چندین Query به دیتابیس ارسال کند یا پردازش سنگینی انجام دهد. اگر تعداد کاربران هم‌زمان افزایش پیدا کند، مجموع این پردازش‌ها می‌تواند منابع هاست را به سقف برساند.

افزونه یا قالب مشکل‌دار

افزونه‌ها یکی از بخش‌هایی هستند که باید هنگام بررسی این خطا به آن‌ها توجه شود. یک افزونه غیربهینه، ناسازگار یا دارای مشکل می‌تواند درخواست‌های زیادی ایجاد کند یا پردازش‌های سنگینی انجام دهد.

قالب وردپرس نیز می‌تواند در مصرف منابع مؤثر باشد؛ به‌خصوص اگر از Queryهای زیاد، قابلیت‌های پیچیده یا اسکریپت‌های سنگین استفاده کند.

افزایش بازدید سایت

گاهی هیچ مشکل خاصی در کدنویسی سایت وجود ندارد و دلیل اصلی، افزایش تعداد بازدیدکنندگان است.

فرض کنید سایت معمولاً تعداد محدودی کاربر هم‌زمان دارد، اما به دلیل انتشار یک مطلب، کمپین تبلیغاتی یا قرار گرفتن یک صفحه در نتایج جستجو، تعداد کاربران در مدت کوتاهی افزایش پیدا می‌کند. در این شرایط تعداد درخواست‌های PHP و Queryهای دیتابیس نیز افزایش پیدا کرده و ممکن است منابع هاست کافی نباشد.

اجرای بیش از حد Cron Job

وردپرس از قابلیتی به نام WP-Cron برای اجرای وظایف زمان‌بندی‌شده استفاده می‌کند. بعضی افزونه‌ها نیز وظایف مختلفی را برای WP-Cron ثبت می‌کنند.

اگر تعداد این وظایف زیاد باشد یا یک وظیفه به‌درستی اجرا نشود و مرتباً دوباره اجرا شود، می‌تواند باعث افزایش مصرف منابع شود. در سایت‌های پرترافیک، بررسی نحوه اجرای Cron می‌تواند اهمیت بیشتری داشته باشد.

حملات و درخواست‌های غیرعادی

گاهی افزایش مصرف منابع به دلیل کاربران واقعی نیست. درخواست‌های زیاد از ربات‌ها، اسکنرها یا ترافیک غیرعادی نیز می‌تواند تعداد درخواست‌های واردشده به سایت را افزایش دهد.

اگر تعداد زیادی درخواست در مدت کوتاه به صفحات خاصی ارسال شود، پردازش این درخواست‌ها می‌تواند CPU و سایر منابع هاست را درگیر کند.

محدودیت منابع هاست

هر سرویس میزبانی منابع و محدودیت‌های مشخصی دارد. برای مثال ممکن است برای یک هاست، مقدار مشخصی CPU، RAM، تعداد پردازش هم‌زمان یا منابع دیگر در نظر گرفته شده باشد.

بنابراین حتی اگر سایت از نظر فنی مشکلی نداشته باشد، در صورتی که میزان استفاده آن از ظرفیت سرویس بیشتر شود، ممکن است خطای Resource Limit Is Reached در وردپرس نمایش داده شود.

چگونه خطای Resource Limit Is Reached در وردپرس را بررسی کنیم؟

قبل از تغییر تنظیمات وردپرس یا حذف افزونه‌ها، بهتر است مشخص کنید چه چیزی باعث افزایش مصرف منابع شده است. در هاست‌های دارای کنترل‌پنل، معمولاً بخشی برای مشاهده میزان مصرف منابع وجود دارد.

بررسی مصرف منابع در هاست

اگر از cPanel استفاده می‌کنید، در بخش‌های مربوط به Resource Usage یا ابزارهای مشابه می‌توانید وضعیت مصرف منابع حساب را بررسی کنید. بسته به تنظیمات سرور، ممکن است اطلاعاتی درباره مصرف CPU، حافظه، تعداد پردازش‌ها و سایر منابع نمایش داده شود.

اگر در نمودارها مشاهده می‌کنید که مصرف یک یا چند منبع مرتباً به سقف می‌رسد، این اطلاعات می‌تواند سرنخ مهمی برای پیدا کردن علت مشکل باشد.

به عنوان مثال، اگر CPU به‌طور مداوم به محدودیت برسد، باید به پردازش‌های PHP، افزونه‌ها، Queryهای دیتابیس و درخواست‌های زیاد توجه بیشتری داشته باشید.

بررسی مصرف منابع در هاست
بررسی مصرف منابع در هاست

بررسی خطاهای وردپرس

بررسی لاگ‌های وردپرس و سرور نیز می‌تواند به پیدا کردن علت مشکل کمک کند. ممکن است یک افزونه یا اسکریپت خاص مرتباً خطا ایجاد کند یا یک فرآیند چندین بار اجرا شود.

برای فعال کردن ثبت خطاهای وردپرس می‌توان از فایل wp-config.php استفاده کرد. قبل از تغییر این فایل، بهتر است از آن نسخه پشتیبان تهیه کنید.

کد زیر برای فعال کردن Debug وردپرس استفاده می‌شود:

				
					define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

				
			

با فعال شدن این تنظیمات، خطاها در فایل لاگ وردپرس ثبت می‌شوند و به‌جای نمایش مستقیم خطا به بازدیدکنندگان، اطلاعات بیشتری برای بررسی در اختیار مدیر سایت قرار می‌گیرد.

پس از فعال کردن Debug، فایل لاگ معمولاً در مسیر /wp-content/debug.log  قرار می‌گیرد.

لازم است توجه داشته باشید که فعال بودن Debug برای مدت طولانی روی سایت اصلی همیشه مناسب نیست و بعد از پایان بررسی می‌توانید آن را غیرفعال کنید.

بررسی افزونه‌ها و قالب

اگر مصرف منابع بدون افزایش قابل توجه بازدید بالا رفته است، افزونه‌ها و قالب را بررسی کنید.

به‌خصوص افزونه‌هایی که با دیتابیس، بکاپ، امنیت، آمارگیری، جستجو، فروشگاه یا پردازش‌های زمان‌بندی‌شده کار می‌کنند، ممکن است در شرایط خاص منابع بیشتری مصرف کنند.

اگر پس از نصب یا به‌روزرسانی یک افزونه این مشکل شروع شده است، همان افزونه یکی از مواردی است که باید با دقت بیشتری بررسی شود.

روش‌های رفع خطای Resource Limit Is Reached در وردپرس

بعد از مشخص شدن وضعیت مصرف منابع، می‌توانید بر اساس علت مشکل یکی از روش‌های زیر را بررسی کنید.

غیرفعال کردن افزونه‌های مشکل‌دار

اگر مشخص شده است که یک افزونه باعث افزایش مصرف منابع می‌شود، ابتدا آن را غیرفعال کنید و وضعیت مصرف منابع را دوباره بررسی کنید.

اگر به پیشخوان وردپرس دسترسی دارید، می‌توانید افزونه را از بخش افزونه‌ها غیرفعال کنید.

اگر به پیشخوان دسترسی ندارید، در شرایطی که احتمال می‌دهید یکی از افزونه‌ها باعث ایجاد مشکل شده باشد، می‌توان از طریق فایل‌های سایت نیز افزونه‌ها را موقتاً غیرفعال کرد.

قبل از انجام این کار، بهتر است بدانید که غیرفعال کردن بعضی افزونه‌ها می‌تواند بخشی از قابلیت‌های سایت را موقتاً از دسترس خارج کند.

بررسی قالب وردپرس

اگر با غیرفعال کردن افزونه‌ها مشکل برطرف نشد، قالب فعال سایت نیز باید بررسی شود.

قالبی که Queryهای زیادی اجرا می‌کند یا پردازش‌های سنگینی هنگام بارگذاری صفحات انجام می‌دهد، می‌تواند مصرف منابع را افزایش دهد.

برای بررسی دقیق‌تر، معمولاً لازم است لاگ‌ها، Queryهای دیتابیس و نحوه اجرای کدهای قالب بررسی شوند. اگر مشکل فقط در برخی صفحات رخ می‌دهد، مقایسه میزان مصرف منابع هنگام باز کردن صفحات مختلف نیز می‌تواند مفید باشد.

بهینه‌سازی دیتابیس

دیتابیس یکی از بخش‌های مهم وردپرس است و عملکرد نامناسب آن می‌تواند باعث افزایش زمان اجرای درخواست‌ها و مصرف منابع شود.

وجود داده‌های غیرضروری، تعداد زیاد رکوردهای موقت، Queryهای سنگین یا ساختار نامناسب بعضی افزونه‌ها می‌تواند فشار بیشتری به دیتابیس وارد کند.

بهینه‌سازی دیتابیس باید با احتیاط انجام شود و قبل از تغییر یا حذف اطلاعات، تهیه نسخه پشتیبان توصیه می‌شود.

فعال کردن کش

سیستم کش می‌تواند تعداد پردازش‌هایی را که سرور برای پاسخ به درخواست‌های کاربران انجام می‌دهد کاهش دهد.

در سایت‌های وردپرسی، کش می‌تواند باعث شود برخی صفحات به جای تولید مجدد توسط PHP و اجرای Queryهای دیتابیس، از نسخه ذخیره‌شده پاسخ داده شوند.

البته تنظیمات کش باید متناسب با سایت انجام شود. برای مثال، صفحات سبد خرید، حساب کاربری یا بخش‌های پویا در فروشگاه اینترنتی ممکن است به تنظیمات متفاوتی نسبت به صفحات عمومی سایت نیاز داشته باشند.

بررسی درخواست‌های غیرعادی

اگر مصرف منابع ناگهان افزایش پیدا کرده است، بررسی ترافیک سایت نیز اهمیت دارد.

در لاگ‌های سرور می‌توان بررسی کرد که آیا تعداد زیادی درخواست از IPهای خاص یا به URLهای مشخص ارسال شده است یا خیر. همچنین ممکن است یک ربات یا سرویس خارجی تعداد زیادی درخواست به سایت ارسال کند.

در این شرایط، صرفاً افزایش منابع همیشه علت اصلی را برطرف نمی‌کند و بهتر است منبع درخواست‌های غیرعادی نیز شناسایی شود.

افزایش منابع هاست

اگر تمام بررسی‌های فنی انجام شده و سایت واقعاً به منابع بیشتری نیاز دارد، ارتقای سرویس میزبانی می‌تواند یکی از راهکارها باشد.

برای مثال، سایتی که تعداد بازدیدکنندگان آن افزایش پیدا کرده، افزونه‌های بیشتری نصب کرده یا قابلیت‌های سنگین‌تری به آن اضافه شده است، ممکن است دیگر با منابع سرویس فعلی عملکرد مناسبی نداشته باشد.

در این حالت، افزایش منابع یا خرید هاست پرترافیک می‌تواند ظرفیت بیشتری برای پردازش درخواست‌های سایت فراهم کند. با این حال، اگر مصرف غیرعادی ناشی از یک افزونه یا اسکریپت مشکل‌دار باشد، افزایش منابع ممکن است فقط مشکل را به تأخیر بیندازد.

آیا خطای Resource Limit Is Reached به معنی ضعیف بودن هاست است؟

خیر. نمایش خطای Resource Limit Is Reached به‌تنهایی به معنی ضعیف بودن هاست نیست.

این خطا نشان می‌دهد که حساب میزبانی در یک بازه مشخص به یکی از محدودیت‌های منابع خود رسیده است. علت آن می‌تواند افزایش بازدید، اجرای پردازش سنگین، افزونه مشکل‌دار، فعالیت Cron، درخواست‌های غیرعادی یا ناکافی بودن منابع برای نیاز فعلی سایت باشد.

برای تشخیص علت، باید ابتدا مشخص شود کدام منبع به محدودیت رسیده و این اتفاق در چه شرایطی رخ می‌دهد.

برای مثال، اگر یک سایت در حالت عادی مصرف کمی دارد اما هنگام انتشار یک مطلب پربازدید دچار این خطا می‌شود، افزایش ناگهانی ترافیک می‌تواند یکی از عوامل اصلی باشد. در مقابل، اگر حتی در زمان کم بودن بازدید نیز مصرف CPU بالا باشد، باید پردازش‌های داخلی سایت با دقت بیشتری بررسی شوند.

بدون دیدگاه

دیدگاهتان را بنویسید

هاستvpsسرور اختصاصی