ارور 503 و زامبی‌ها؛ چگونه از شر زامبی‌ها خلاص شویم؟

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

ارور 503 و زامبی‌ها


ستاره | سرویس تکنولوژی - تصور کنید در حال جستجوی یک موضوع در وب هستید و پس از صرف زمان زیادی، بالاخره یک وبسایت را در لیست گوگل پیدا می‌کنید و با هزار آمال و آرزو بر روی آن کلیک می‌کنید، اما هنگامی که صفحه باز می‌شود، چشمان شما روی صفحه مانیتور می‌خشکد؛ "سرویس در دسترس نیست/Service  Unavailable". صبر کنید کابوس هنوز ادامه دارد...


در طرف دیگر قضیه، اگر شما مالک آن وبسایت باشید چه اتفاقی خواهد افتاد؟ مسلماً دیگر مثل سابق، طرفداران خود را نخواهید داشت، چرا که هر بار کاربران در جستجوهای خود با وبسایت شما مواجه می‌شوند، آن را رها کرده و به سراغ لینک دیگر خواهند رفت.


در این نوشتار قصد داریم راجع به ارور 503 یا 503 service unavailable صحبت کنیم دلایل رخداد و حل آن را با شما عزیزان در میان بگذاریم، پس با ما همراه باشید.



در این مطلب می‌خوانید:




ارور 503 چیست؟

ارور 503 یک کد وضعیت پاسخ (response status code) پروتکل HTTP است که نشان می‌دهد سرور کار خود را به درستی انجام می‌دهد اما در حال حاضر نمی‌تواند به درخواست‌ها رسیدگی کند. از آنجایی که این ارور یک پیغامِ خطای عمومی است، بسیار دشوار است که بتوان با دقت، به علت رویداد مسئله اشاره کرد.



ارور 503



به زبان ساده‌تر، دلایلی همچون اضافه باری یا ترافیک اضافه (overloading) و اجرای اصول تعمیر و نگهداری (maintenance) بر روی سرور چنین مشکلاتی را ایجاد می‌کند و این پیغام به این معناست که شرایط حال حاضر یک شرایط موقتی است و پس از گذشت زمان کوتاهی بر طرف خواهد شد. البته توجه داشته باشید که برخی از سرورها در چنین وضعیتی ممکن است از ایجاد اتصال امتناع کنند و به همین دلیل پیغام دیگری را نمایش دهند.



شکل‌های مختلف ارور 503

HTTP Server Error 503
 503 Error
HTTP 503
Http/1.1 Service Unavailable
503 Service Unavailable
 Service is unavailable
 Service Unavailable - DNS Failure


ارور 503



علت ارور 503
۱) برنامه نویسی ناکارآمد

گاهی اوقات ارور 503 می‌تواند از برنامه نویسی ناکارآمد ناشی شود. در این صورت کدها می‌توانند یک مزاحم تلقی شوند و سرعت سرور را به شدت کاهش دهند و در نهایت ارور 503 را نمایان کنند.


برای رفع این مشکل به صورت موقتی و فوراً می‌بایست برنامه‌های روی سرور خود را یکی یکی خاموش و روشن کنید. چنانچه از یک سرور اختصاصی استفاده می‌کنید بهتر است به بخش مرکز کنترل اکانت "(Account Control Center (ACC" رفته و بر روی Restart Apache کلیک نمایید.



ارور 503


*****


ارور 503


توجه داشته باشید که با انجام هر دو راه حل موقتی، سرور برای دقایقی (حدود ۵ دقیقه) آفلاین خواهد شد و وبسایت‌ها و سرویس‌هایی که بر روی آن سرور قرار دارند از دسترس خارج خواهند شد.


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



۲) پروسه زامبی (Zombie Process)

شاید با دیدن عنوان بالا با خود بگویید که نویسنده به طور کلی از قوه تعقل محروم است! اما باور کنید این هم یکی از دلایل نمایش ارور 503 می‌باشد که هم به دلیل برنامه نویسی اشتباه و هم به دلیل ترافیک اضافه به سیستم تحمیل می‌شود.



ارور 503 و زامبی‌ها


هنگامی که یک برنامه در حال اجراست، آن برنامه شرح فرآیند خود را در حافظه ذخیره می‌کند. این توصیف فرآیند به "برنامه والد/ parent program" علامت می‌دهد که "فرآیندهای مولود/ Child process" یا قبل از اجرا متوقف شده است یا به درستی کار کرده است. در نهایت اگر همه چیز درست پیش برود، برنامه والد اطلاعات فرآیند مولود را جمع‌آوری خواهد کرد و سپس آن را به طور کامل از حافظه حذف می‌کند.


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


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


لازم به ذکر است که فرآیندهای زامبی از هیچ منبع سیستم استفاده نمی‌کنند، این در حالی است که آن‌ها ID پردازش خود (process ID:PID) را حفظ می‌کنند. در سرورهای لینوکس، تعداد محدودی از این PID ها وجود دارد و هنگامی که یک فرآیند به طور کامل حذف می‌شود، PID قبلی برای یک فرآیند جدید در دسترس قرار می‌گیرد (برای جزییات بیشتر در مورد فرایندهای زامبی در یک لینوکس اینجا را مطالعه کنید). در سرورهایی که تحت سیستم عامل‌های دیگر نیز کار می‌کنند، با افزایش پروسه‌های زامبی، میزان PID ها نیز کاهش می‌یابد تا جایی که تعداد PID ها تمام شده و در نهایت ارور 503 نمایان می‌شود.




بیشتر بدانید: تفاوت ویندوز و لینوکس؛ مقایسه دو سیستم عامل رایج و محبوب




چک کردن فرآیندهای زامبی در ارتباط با ارور 503

گام نخست: ترمینال (terminal) در مک یا پیام‌واره فرمان (command prompt) در ویندوز را باز نمایید.
گام دوم: عبارت "ssh username@web-server.com" را تایپ کنید و کلید Enter را بفشارید.توجه: برای دسترسی به نام سرور خود (Web Server name)، وارد مرکز کنترل حساب (Account Control Center) خود شوید و در بخش "Account Summary" نام سرور خود را بیابید.


گام سوم: کلمه عبور خود را وارد کنید و کلید Enter را بفشارید.
گام چهارم: عبارت "ps axo pid=,stat= | awk '$2~/^Z/ { print }'" را تایپ کنید.
گام پنجم: در نهایت کلید Enter را بفشارید.این کار PID ها و وضعیت فرآیندهای زامبی موجود در سرور شما را نشان خواهد داد.

ارور 503 و زامبی‌ها



چگونه از شر زامبی‌ها و ارور 503 خلاص شویم؟

قبل از هر چیزی توجه داشته باشید که این مورد یک پروسه تخصصی است و حتماً می‌بایست آن را با کمک یک متخصص انجام دهید، اما یک روش ساده نیز وجود دارد. شما می‌توانید با تایپ عبارت "kill -s SIGCHLD PID" و با جایگزینی PID پروسه والد، زامبی‌ها را بکشید و از شر ارور 503 رهایی پیدا کنید. برای اطلاع از روش‌های دیگر می‌توانید اینجا را مطالعه نمایید.



دیگر روش‌ها برای برطرف کردن ارور 503
کاربران توجه کنند:

صفحه‌ای که به آن مراجعه کرده‌اید را تازه سازی (رفرش/refresh) کنید. این کار را می‌توانید با فشردن کلید F5 انجام دهید. همانطور که گفته شد ارور 503 مربوط به سرور و موقتی است، پس ممکن است پس از گذشت چند لحظه مشکل حل شده باشد. توجه داشته باشید که اگر در صفحات پرداخت هستید از انجام این کار امتناع کنید.
مودم و رایانه خود را یک مرتبه مجدداً راه اندازی (Restart) کنید.
اگر به مدیران سایت دسترسی دارید با آن‌ها تماس بگیرید و مراتب را گزارش دهید و راهنمایی‌های لازم را از آن‌ها دریافت نمایید.

 سرویس دهنده‌های وب و مدیران سایت‌ها توجه کنند:

نسخه PHP سایت خود را ارتقا دهید و آن را به‌روزرسانی کنید. بدیهی است که آخرین نسخه از هر برنامه یا پلتفرم، خطا و باگ‌های گذشته را برطرف کرده و به یک حالت بهینه رسیده است.
به‌روزرسانی را به PHP محدود نکنید و با ارتقاء تمامی برنامه‌ها و افزونه‌هایی که در حال حاضر در حال استفاده از آن‌ها هستید، کارایی سایت خود را افزایش داده و از بروز خطاهایی همچون ارور 503 جلوگیری کنید.
بهتر است برای جلوگیری از تحمیل بار اضافه به سرور، پیکربندی نظرات (کامنت‌ها) را تغییر دهید و آن‌ها را صفحه بندی کنید. شما می‌توانید به راحتی عمل صفحه‌بندی کامنت‌ها در وردپرس (Paginating WordPress Comments) را انجام دهید:

به ناحیه مدیریتی وردپرس وارد شوید.
مسیر Settings » Discussions را طی کنید.
همانند تصویر در بخش "Break comments into pages" تعداد کامنت‌هایی که می‌خواهید در یک صفحه به نمایش در بیاید را وارد کنید.
علاوه بر این می‌توانید کامنت‌ها را بر اساس یک پارامتر خاص دسته بندی کنید (در تصویر کامنت‌های قدیمی‌تر (Older) ابتدا به نمایش در می‌آید).

ارور 503 و زامبی‌ها




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



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




سخن آخر

بدیهی است، هنگامی که کاربران به دنبال پاسخ‌هایی هستند و شما با زحمات فراوان آن پاسخ‌ها را مهیا کرده‌اید، کاربران به شما اعتماد کرده و به سمت شما می‌آیند؛ اما در این بین اگر حواستان به خطاهای احتمالی (مثل ارور 503) نباشد ممکن است فاجعه رخ دهد! "ممکن" نه، بهتر است بگوییم "مسلماً" پس هیچ گاه از اصول تعمیر و نگهداری وبسایت خود غافل نشوید. در صورت بروز هر گونه مشکل آن را با ما در میان بگذارید و پاسخ خود را در اسرع وقت دریافت کنید. همراهی شما موجب بهروزی ماست...



* تصویر ابتدایی مقاله برگرفته از: optclean.com.br