رفع مشکل مصرف بالای CPU فایل admin-ajax.php وردپرس

You are currently viewing رفع مشکل مصرف بالای CPU فایل admin-ajax.php وردپرس

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

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

  • ارتباط لحظه ای بین مرورگر کاربر و وب سرور (بدون نیاز به بارگزاری مجدد صفحه)
  • بهبود مدیریت Session های مربوط به کاربران
  • ردیابی یا Tracking نسخه های مختلف پست ها (Revision)
  • ذخیره اتوماتیک پست ها در زمان نگارش آن ها در محیط مدیریت

قلب تپنده این API از فایل موجود در مسیر wp-admin/admin-ajax.php برای اجرای توابع ajax در مرورگر ها استفاده می‌کند . در ظاهر این امکان بسیار برای کاربران جالب می باشد اما در عمل این مورد باعث مصرف بسیار بالای پرازنده و یا CPU در هاست خواهد شد.

در صورتیکه مقدار مصرف منابع توسط وردپرس بالا رود می توانید اقدام به ویرایش این API و تنظیم فرکانس بالاتر نمایید.

ویرایش پردازش های اصلی HeartBeat API وردپرس (پیشنهاد شده)

1- وارد داشبورد مدیریت وردپرس شوید و مطابق تصویر زیر به منوی افزونه ها > افزودن بروید. سپس با استفاده از قسمت Search در گوشه سمت چپ نام افزونه Heartbeat Control را جستجو نمایید و روی دکمه نصب کلیک کنید تا نصب افزونه انجام شود و پس از اینکه نصب شد روی دکمه فعال سازی کلیک نمایید.

2- پس از فعال سازی افزونه به منو تنظیمات > Heartbeat Control مراجعه کنید.

3- در صفحه تنظیمات افزونه مانند تصویر زیر برای هر 3 مکان گزینه‌ Modify Heartbeat را علامت بزنید و در قسمت Override Heartbeat frequency نوار لغزنده را بر روی 120 تنظیم نمایید و در آخر روی دکمه Save Changes کلیک کنید تا تنظمیات ذخیره شود.

با انجام موارد فوق شما موفق شده اید ویژگی WordPress HeartBeat API را تحت کنترل خود در آورید و از فشار بیش از حد روی سایت و مصرف بالای منابع Ram و CPU در وردپرس جلوگیری نمایید.

غیرفعال کردن کامل Heartbeat API وردپرس (پیشنهاد نمی شود)

در صورت نیاز به غیرفعال سازی کامل بخش WordPress HeartBeat API می توانید مانند تصویر زیر در تنظیمات افزونه Heartbeat Control گزینه های Disable Heartbeat را انتخاب و روی دکمه Save Changes کلیک نمایید.

توجه: با غیرفعال کردن کامل Heartbeat API ممکن است عملکرد برخی از ویژگی‌های وردپرس را مختل کنید.

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