از جمله خطاهایی که معمولاً بیشتر سایتهایی که به خوبی پیکربندی نشدهاند با آن روبرو میشوند، خطای Resource Limit Reached با شمارهٔ خطای 503 یا 508 است. این خطا نمایانگر میزان مصرف بیش از حد سایت از منابع سرور است. وبنولوگ برای اینکه پایداری سرویسهای هاست اشتراکی خود را برای کاربران خود بالا ببرد، از CloudLinux روی هاستهای لینوکس استفاده میکند. کلود لینوکس جلوی از کار افتادن کل سرور، به علت وارد آمدن فشار بسیار زیادی که توسط یک یا چند تا سایت تحمیل میشود، را میگیرد. به عبارت دیگر، کلود لینوکس جلوی استفادهٔ بیش از حد از منابع سرور مثل CPU و RAM و IO را به واسطهٔ یک حساب کاربری میگیرد. همین امر باعث میشود که اگر از سایت دیگری روی سرور سوء استفاده شد، روی سایت شما تاثیری نداشته باشد.
حمله به سایتهای اینترنتی همیشه وجود دارند و دارای انواع مختلفی هستند. همانطور که خدمت شما عرض، معمولاً سایتهایی که از نظر پیکربندی مشکل دارند، با این خطا روبرو میشوند. مدیران سایتها باید بدانند که به جهت تامین امنیت سایت خود حتماً باید دانش خود را بالا ببرند و در این رابطه مسئول هستند.
آگاهی از میزان منابع استفاده شده توسط هاست شما
زمانی که وارد حساب سیپنل فضای میزبانی خود میشوید، از طریق نواری کناری قادرید میزان استفاده از منابع را مشاهده کنید. اگر نوار همه یا یکی از آنها پر باشد (به رنگ قرمز)، احتمالاً بازدید کنندگان و حتی خود شما به عنوان مدیر، با خطای 503 یا 508 مواجه خواهید شد. مهمترین منابع سرور شامل موارد زیر میشوند:
CPU یا پردازنده (CPU Usage)
هر کاری که روی فضای میزبانی شما انجام میشود، پردازنده یا CPU سرور را درگیر میکند. پردازندهٔ سرورها بسیار قدرتمند هستند. اما اگر یکی از سایتها روی سرور از نظر امنیتی مشکلی داشته باشد، میتواند کل میزان CPU را با خود مشغول کند و دیگر سایتها با مشکل مواجه شوند. به همین دلیل هر حساب از این نظر محدود میشود.
حافظهٔ Physical Memory Usage یا Virtual Memory Usage یا به عبارتی PMEM/VMEM
هر چقدر اسکریپتها و برنامههای زیادی روی هاست شما باز باشند، میزان حافظهٔ بیشتری را با خود اختصاص میدهد. این میزان محدودیت معمولاً برای هر حساب ممکن است ۱ گیگابایت یا بیشتر باشد که مقداری قابل توجه است.
خواندن و نوشتن روی دیسک (I/O Usage)
میزان نرخ خواندن اطلاعات یا نوشتن اطلاعات روی دیسک یا hard را به شما نشان میدهد که هر چقدر سایت شما اطلاعات بیشتری بنویسد و بخواند، این عدد افزایش پیدا خواهد کرد.
تعداد پردازشها (Number Of Processes و Entry Processes)
تعداد پردازشهایی که پردازنده در حال کار روی آنها است را نمایش میدهد و نباید از میزان تخصیص داده شده تجاوز کند.
هر زمان متناسب با هر کدام از منابع بالا، استفاده بیش از حد تعیین گردد، به طور موقت سایت شما خطای Resource Limit Is Reached را بر خواهد گرداند.
قابل ذکر است که میزان اختصاص داده شده هر کدام از این منابع برای یک حساب سیپنل، به قدر کافی برای همان پلن و حتی بیشتر است. پس اگر با خطای 503 یا 508 مواجه شدید، قطعاً باید روی سایت خود کار کنید.
دلایلی اصلی بروز خطای Resource Limit Is Reached
مهمترین دلایل رسیدن سر حد منابع تعیین شده بدین قرارند:
ارسال دیدگاههای هرز روی سایت
رباتهایی وجود دارند که به محض اینکه تشخیص دهنده نقطه ضعفی در بخش دیدگاهها یا کامنتهای سایت شما وجود دارد، سریعاً دست به کار شده و ارسالهای زیادی را روانهٔ سایت میکنند. همین امر باعث افزایش میزان مصرف منابع خواهد شد. شما باید با استفاده از روشهای امنیتی مثل نصب Captcha روی سایت، از این مورد جلوگیری نمایید. همچنین تمامی اسکریپتهای خود را به روز نمایید.
حمله به روش Brute Force
نوع دیگری از رباتها هستند که روی فرمهای ورود کار میکنند و در مدت زمان کوتاهی، مثلاً در ۱ دقیقه، هزاران ترکیب نام کاربری و رمز عبور را برای ورود امتحان میکنند تا بالاخره یکی از آنها درست از آب درآید. از این روش برای هک کردن سایت استفاده میشود و فشار بسیار زیادی به سایت وارد میکند. تا حدی شما کندی سایت را کاملاً درک خواهید کرد. بهتر است صفحات و فرمهای ورود را مخفی کنید و از Captcha استفاده کنید.
حمله به روش Dos یا DDos
این عامل شاید مهمترین عامل بروز خطای Resource Limit Is Reached باشد. به طوری که در این نوع حمله هدف فقط خارج کردن سایت از سرویسدهی است. بدین صورت که درخواستهای بسیار زیاد و البته ناقص به سایت روانه میشوند که هاست و سرور قادر به پاسخگویی به آنها نیستند. پس سایت از دسترس خارج میشود. نصب افزونههای امنیتی و به خصوص فعال کردن CloudFlare و سرویسهای جایگزین مهمترین روش جلوگیری از این قبیل حملهها است.
وبسایت هک شده
ممکن است یک وبسایت از قبل هک شده باشد و هکر با دستکاری و خرابکاری روی اسناد سایت، کاری کرده باشد که به طور مداوم در حال انجام کارهای بیخود باشد. در این حالت کل سایت آلوده شده است و اگر بتوان باید آن را توسط آنتی ویروس پاکسازی کرد و یا اگر نسخهٔ پشتیبانی از سایت وجود دارد، آن را بازیابی نمود. همین جا باید بدانید که همیشه باید از سایت خود نسخهٔ پشتیبان تهیه کنید.
وجود افزونه یا اسکریپت خاص
ممکن است یک افزونه یا اسکریپت به دلیل ماهیت ذاتی و یا مشکل فنی که دارد، سبب افزایش بار روی هاست گردد. مثلاً افزونههای ارسال انبوه ایمیل و یا افزونههایی کار ربات را انجام میدهند، این گونهاند. همچنین به هیچ عنوان از افزونههای ضعیف کدنویسی شده و نسخهٔ بتا استفاده نکنید که مشکل فنی و امنیتی دارند. حتی اسکریپتهایی که از منابع نامعتبر دانلود میکنید ممکن است حاوی کد مخرب باشند!
افزایش ناگهانی بازدید سایت
در آخرین حالت هم ممکن است به صورت یکباره بازدید سایت شما افزایش داشته باشد. مثلاً شما در یک جایی سفارش تبلیغ دادهاید و با به اجرا درآمدن آن تبلیغ، به صورت یکجا بازدید کنندگان زیادی به سایت شما سرازیر میشوند. در این گونه مواقع باید حتماً از قبل تدابیر لازم را اندیشیده باشید. مثلاً هاست معمولی خود را به هاست پر بازدید ارتقاء دهید.
کارهای مفید برای جلوگیری از خطای Resource Limit Is Reached
در قسمت علتها، به برخی از روشهای پیشگیری هم اشاره شد، که موارد زیر را هم میتوانید در نظر بگیرید. همچنین آموزشهای بخش امنیت سایت در مرکز آموزش وبنولوگ را هم حتماً مطالعه کنید.
فعال سازی Cache
کش کردن کمک میکند که فشار کمتری به فضای میزبانی و سرور وارد شود. به علت وجود وب سرور لایت اسپید روی هاست شما، میتوانید از افزونهٔ Litespeed روی وردپرس خود استفاده کنید و از مزایای آن بهرهمند شوید. در غیر این صورت روشهای دیگری هم برای این مورد وجود دارد. که البته مهمترین آن کش کردن اطلاعات در طرف سرور است. یک نوع کش کردن هم وجود دارد که در طرف مرورگر کاربر انجام میشود. این مورد هم از قبل روی سرور فعال است.
از نسخهٔ جدید PHP استفاده کنید
اگر اسکریپت شما با نسخههای جدید PHP سازگار است، حتماً از قسمت PHP Selector یا Select PHP Version در کنترل پنل، نسخهٔ آن را تغییر دهید.
به روز رسانی سیستم مدیریت محتوا و اسکریپتها
بسیار مهم است که شما از آخرین نسخهٔ وردپرس و جوملا و افزونههای آنها استفاده کنید. در نسخههای جدید همیشه عیبهای قبلی برطرف میشوند و در نسخههای قدیمی ایرادهایی وجود دارند که اگر عمومی شده باشند، سایت شما در خطر خواهد بود. همچنین افزونههای بلا استفاده را هم حتماً حذف نمایید.
سند error_log را بررسی کنید
یک سند با نام error_log روی ریشهٔ هاست شما باید وجود داشته باشد که خطاهای وبسرور را در آن میتوانید بیابید.
بهینه سازی پایگاه دادهٔ
بهتر است از درون کنترل پنل خود از ابزار Optimize Database استفاده کنید و جدولهای پایگاه داده را مرمت و بهینه سازی کنید. مشکلات موجود روی پایگاه داده ممکن است باعث افزایش بار شود.
فعال سازی CloudFlare
در آخر هم یکی از بهترین روشهای جلوگیری از انواع حملات روی سایت، فعال کردن سرویس کلود فلیر روی سایت است که قبلاً توضیح داده شده.