اقدامات لازم در لود بالای سرور
سلام به همراهان همیشگی پیشگام وب امروز دوباره در خدمتتون هستیم با آموزش جدید
یکی از مشکلاتی که ممکنه در سرورهای لینوکسی بوجود بیاد ، بالارفتن لود سرور هست ، وقتی مدیر سرور میاد دستور top رو میزنه ، میبینه یا خدااا ، یه یوزری مصرف منابع رو بالا برده ، خب چیکار کنم تو چنین شرایطی؟
مثل خود من ، دیشب یه پیغام بالا بودن لود تو یکی از سرورها برام ایمیل شد ، به سرور ssh زدم
اولین کاری که میکنین ، کلید c را همون موقع که top وارد کردین رو بزنین تا نشون بده این مصرف منابع مربوط به کدم فایل این یوزر بوده
ممکن هست حملات DOS روی یک فایل خاص داشته ، مثلا اخیرا در سایتهای وردپرسی روی فایل xmlrpc.php حملات زیادی بود و با محدود کردن دسترسی این فایل مشکل رفع می شد.
اگه دیدین سرور داره میترکه و فعلا فرصت کافی برای بررسی مشکل ندارین با دستور کاربری زیر میتونین تمام پروسس هایی که مربوط به این یوزر هست را stop و kill کنین.
pgrep -U user | xargs kill -9
بعد میتونین log های سرور مربوط به این دامنه را بررسی کنین.
مسیر log های دامنه در دایرکت ادمین به شرح زیر هست:
/var/log/httpd/domains/
مسیر log های دامنه در سی پنل بصورت زیر هست:
/usr/local/apache/domlogs
ممکن هست بازدید بالایی داره ، یا درخواستهای زیادی روش هست یا روی این یزور حملات DOS یا حملات سایبری از مدلهای دیگش هست ، اگه دیدین تو log ها خبری نیست و درخواستی روی دامنه نمیاد ، مطمئن بشین که مشکل از دیتابیس آب میخوره ، احتمالا یه table خاص کرش کرده.
میتونین سریع به دیتابیس وصل شین و وضعیت process ها رو بررسی کنین و table که با مشکل مواجه هست repair کنین.
البته این مربوط به زمانی بود که زمانیکه دستور top رو زدین واقعا یه یوزر خاص باعث بالا رفتن لود سرور باشه ، اگه یوزر خاصی نبود، باید log های مسیر زیر رو بررسی کنین:
/var/log/messages
و با ابزار مانیتورینگ بصورت دقیق منبع بالارفتن لود رو پیدا کنین .
معمولا بکاپ گیری در وسط روز که روی سرور درخواستهای زیادی هم هست لود سرور و بالا میبره ، ترجیحا بکاپگیریهاتونو اخر شب انجام بدین.