IRPOWER

حل مشکل مصرف بالای فایل admin-ajax.php هاست وردپرس

مرکز آموزش » امنیت و بهینه‌سازی » حل مشکل مصرف بالای فایل admin-ajax.php هاست وردپرس

مصرف بالای فایل admin-ajax.php در هاست وردپرس

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

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

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

 

فعالیت HeartBeat API در هاست وردپرس:

 
یکی از این موارد بروزرسانی صفحه داشبورد در وردپرس می باشد . درصورتیکه شما وارد وردپرس شده و صفحه را کوچک نمایید و شروع به کارهای دیگری کنید این صفحه بروز شده و موجب ایجاد پردازش هایی بروی سرور خواهد شد. این پردازش هر ۶۰ ثانیه یکبار ایجاد درخواست از سرور را خواهد نمود.
درنتیجه هر بار اجرای این اسکریپت باعث لود بسیار بالایی خواهد شد.
در صورتیکه این صفحه نیم ساعت باز باشد باعث اجرای ۲۵ عدد اسکریپت PHP شده که خود این موضوع باعث مصرف ۵.۷۷ درصد پردازنده خواهد شد. البته این آمار بسیار زیاد نیست اما غیر لازم می باشد. در این صورت مصرف بالای منابع از ناحیه فایل admin-ajax.php مشاهده شده و طبیعتا کاهش سرعت سایت را در پی خواهد داشت.

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

نحوه غیرفعال کردن پردازش های اصلی Wordpress HeartBeat API

۱) به مدیریت سایت وردپرسی خود وارد شوید.
۲) به مسیر افزونه ها (Plugins) داشبور وردپرس رفته و Add Plugin را انتخاب نمایید.
۳) پلاگین Heartbeat Control را بر روی سایت خود نصب نموده و بر روی گزینه Activate Plugin کلیک کنید.
۴) به مسیر Settings -> HeartBeat Control مراجعه نمایید.
۴) در قسمت Control heartbeat locations امکان محدود کردن این API برای فعالیت خاصی در سایت و یا غیرفعال سازی کامل آن وجود دارد.
۵) گزینه Disable Everywhere را انتخاب نمایید.
۶) بر روی گزینه Save Changes کلیک نمایید.
 
ادر صورتی که سوال یا ابهامی دارید یا نیاز به مشاوره تخصصی در زمینه مدیریت وب سایت های اینترنتی و یا خرید هاست وردپرس دارید کافی است با کارشناسان مجرب IRPOWER در تماس باشید.

تمامی حقوق مادی و معنوی مطالب متعلق به IRPOWER است.

کپی برداری تنها با ذکر منبع و با لینک به صفحه مربوطه در این وب سایت مجاز است
  • هاست وردپرس, هاست لینوکس
  • 24 کاربر این را مفید یافتند
آیا این پاسخ به شما کمک کرد؟
مقالات مشابه

IRPOWER