فایل admin-ajax.php وردپرس + افزونه Heartbeat

فایل admin-ajax.php وردپرس + افزونه Heartbeat

فایل admin-ajax.php وردپرس در بسیاری از موارد باعث مصرف بالای منابع سرور می شود. این مصرف بالای CPU باعث مشکلاتی زیادی برای وب مستران شده؛ در این مقاله به بررسی فایل admin-ajax.php و راه های حل مشکلات آن می پردازیم.

.

کار فایل admin-ajax.php در وردپرس چیست ؟

از ورژن ۳٫۶ وردپرس ویژگی اعلام گردید که به وردپرس اجازه ارتباط برقرار کردن با مرورگر کاربران را می دهد.

این موجب راحتی و عدم رفرش نمودن سایت توسط کاربر گردد و خود صفحه بصورت اتوماتیک رفرش گردد.

قلب تپنده API ها از فایل :

 /wp-admin/admin-ajax.php

برای اجرای توابع ajax در مرورگر ها استفاده می کند .

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

نحوه کارکردن این API :

یکی از این موارد بروزرسانی صفحه داشبورد در وردپرس می باشد .

درصورتیکه شما وارد وردپرس شده و صفحه را کوچک نمایید و شروع به کارهای دیگری کنید این صفحه بروز شده و موجب ایجاد پردازش هایی بروی سرور خواهد شد. این پردازش هر ۶۰ ثانیه یکبار ایجاد درخواست از سرور را خواهد نمود.

  • – > هر بار اجرای این اسکریپت باعث ایجاد لود زیادی روی پردازنده سرور خواهد شد.
  • – > در صورتیکه این صفحه نیم ساعت باز باشد باعث اجرای ۲۵ عدد اسکریپت php شده که خود این موضوع باعث مصرف ۵٫۷۷ درصد پردازنده خواهد شد. البته این آمار بسیار زیاد نیست اما غیر لازم می باشد.

.

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

درصورتیکه مقدار مصرف منابع توسط وردپرس بالا رود می توانید اقدام به غیرفعال کردن API های اصلی وردپرس بنمایید. بصورت پیش فرض وردپرس از Heartbeat API برای مدیریت پست ها و ذخیره اتوماتیک استفاده می نماید.

.

نصب پلاگین  Heartbeat برای کنترل مصرف فایل admin-ajax.php

  1. در ابتدا افزونه ی Heartbeat Control را نصب نمایید.
  2. پس از این مورد اقدام به کلیک بروی دکمه Activate Plugin بنمایید.

.

تنظیمات افزونه Heartbeat Control

.

فایل admin-ajax.php وردپرس

.

Now that you have the Heartbeat Control plugin installed, you will need to configure its settings. To access the settings page, hover over Tools on the left side menu bar and click on Heartbeat Control.

.

برای انجام تنظیمات این افزونه  به قسمت Tools رفته و روی Heartbeat Control کلیک کنید

.

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

.

منوی دوم بشما اجازه می دهد زمان این درخواست را ویرایش نمایید برای مثال اجازه در خواست POST هر ۱۵ ثانیه می نماید.

این توسط قسمت heartbeat frequency قابل انجام می باشد.

.

بعد از این اقدام به ذخیره مطلب بنمایید.

 

با تشکر از وب سایت سرو سرور

مطالب مرتبط

2 نظر

  1. علیرضا

    سلام مهندس
    سایت من مدتی پیش با کاهش سرعت شدید مواجه شده بود ، بعد متوجه شدیم فایلی به نام
    ?wc-ajax=get_refreshed_fragments که معلوم نیست چی هست و انگار مربوط به ووکامرس هست ، و کل سرعت سایت و پیشخوان وردپرس رو از بین برده بود ، تقریباً ۱۷ ثانیه کاهش سرعت!!
    در آخر مجبور به بازگردانی بکاپ شدیم ، بعد از در یه مقاله خارجی افزونه Heartbeat Control رو دیدم که برای همچین مشکلی پیشنهاد کرده بود ، آیا به درد همچین مشکلی این پلاگین می خوره ممنون

    پاسخ
    1. مدیر

      سلام دوست عزیز

      بله افزونه Heartbeat Control دقیقا به درد همچین مشکلی میخوره.

      اما یک نکته ی ساده رو خدمتتون عرض میکنم شما رعایت کنید ، این مشکل تا حد زیادی مرتفع میشه :
      زمانی که با قسمت مدیریت سایتتون کاری ندارید ، پستی نمیخواید بزارید یا آپدیتی نمیخواید انجام بدید ، لازم نیست در حساب کاربری مدیریتتون لاگین بمونید ، خیلی ساده ، خارج بشید و کلا تب مدیریت سایت رو ببندید.
      زمانی که در قسمت مدیریت لاگین هستید ، admin-ajax.php شدیدا در حال فعالیت و استفاده از منابع سرور هست.
      و چون اکثر هاست های مورد استفاده برای وب مستران ایرانی اشتراکی هستند و محدودیت های زیادی دارند ، هرچه کمتر از منابع سرور مصرف بشه طبعا قدرت هاست برای بازدیدکنندگان و سرعت لود صفحات استفاده میشه که هدف ماست.

      امیدوارم موفق باشید.

      پاسخ

شما هم در بحث شرکت نمایید...

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *