وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

مصرف CPU سرور بالاست؛ کدام برنامه باعث آن شده است؟

با top و ps فرایندهای پرمصرف را پیدا کنید و پیش از توقف برنامه، مصرف را در چند نوبت بسنجید.

انتشار:
توسط تیم فنی نت‌آرام
۳ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله مصرف CPU سرور بالاست؛ کدام برنامه باعث آن شده است؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
اگر سایت کند شده و نمودار CPU بالا رفته است، اولین کار خاموش کردن برنامه‌ها نیست. ممکن است تهیه بکاپ، یک افزونه، حمله به یک مسیر یا کاری عادی که در زمان شلوغی اجرا شده دلیل مصرف باشد. ابتدا نام و زمان مصرف را پیدا کنید.

یک عکس از وضعیت فعلی بگیرید

در سرور لینوکس دستور زیر را اجرا کنید:
کد / دستورtop
فهرست فرایندها و درصد مصرف را می‌بینید. با کلید q از برنامه خارج شوید. نام برنامه و عدد PID آن را یادداشت کنید و یک دقیقه بعد دوباره نگاه کنید. یک لحظه مصرف زیاد لزوماً مشکل نیست؛ مصرفی که چند دقیقه ادامه دارد و هم‌زمان با کندی سایت تکرار می‌شود مهم‌تر است.
در بسیاری از ابزارها درصد مصرف یک فرایند می‌تواند از ۱۰۰ بیشتر شود، چون کار روی چند هسته انجام می‌شود. آن را با تعداد CPU قابل مشاهده سیستم و تعریف همان ابزار بسنجید. برای دیدن تعداد پردازنده‌های قابل استفاده، دستور nproc را اجرا کنید.

ده فرایند اول را مرتب ببینید

کد / دستورps -eo pid,ppid,user,pcpu,pmem,etime,comm --sort=-pcpu | head -11
ستون PID شناسه فرایند، USER صاحب، %CPU درصد CPU و ETIME مدت زمان اجرای آن است. عدد خروجی این فرمان یک نمای لحظه‌ای نیست و براساس عمر فرایند محاسبه می‌شود؛ برای تشخیص بار لحظه‌ای آن را کنار چند نمونه top قرار دهید. از فرستادن خروجی کامل دستورهایی که رمز یا اطلاعات مشتری در خط فرمان دارند به فضای عمومی خودداری کنید.

برنامه را به درخواست واقعی وصل کنید

اگر نام فرایند php-fpm است، این نام به تنهایی افزونه مقصر را مشخص نمی‌کند. در همان زمان آدرس‌های پرتکرار را در گزارش وب‌سرور و خطاهای PHP ببینید. اگر چند سایت از سرور استفاده می‌کنند، اول تشخیص دهید فرایند متعلق به کدام حساب یا سرویس است. گزارش CPU را با زمان بازدید واقعی و کارهای زمان‌بندی‌شده مثل بکاپ مقایسه کنید.
اگر برنامه‌ای فقط در ساعت بکاپ فشار ایجاد می‌کند، زمان یا تعداد هم‌زمانی کار را در تنظیمات ابزار بکاپ تغییر دهید و بعد صحت نسخه و نتیجه بازیابی را بررسی کنید. اگر یک مسیر عمومی غیرعادی تکرار می‌شود، محدودیت دقیق همان مسیر و دلیل درخواست‌ها را بررسی کنید.

اگر فرایند مربوط به بکاپ است

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

قبل از پایان دادن به یک فرایند

کشتن پردازش پایگاه داده یا یک عملیات در حال نوشتن می‌تواند به قطعی یا کار نیمه‌تمام منجر شود. ابتدا مالک سرویس، وظیفه پردازش، زمان شروع و شیوه توقف امن آن را بشناسید. اگر مطمئن نیستید، شناسه، تصویر نمودار، ساعت و نوع کار را برای پشتیبانی بفرستید؛ رمز و داده مشتری لازم نیست.
پس از هر تغییر، CPU و زمان باز شدن همان صفحه را در چند بازه مقایسه کنید. پایین آمدن یک عدد بدون بهتر شدن تجربه کاربر به معنی حل کامل مشکل نیست.
اشتراک‌گذاری:
لینکدینتلگرامایکس

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام