ضربان قلب وردپرس(Heartbeat API) چیست و چطور آن را کنترل کنیم؟
وردپرس محبوب ترین سیستم مدیریت محتوا در دنیاست و از نسخه ۳٫۶ و پس از آن ویژگی ای به نام heartbeat یا ضربان قلب به آن اضافه شده است که کارهای کاربردی زیادی انجام می دهد و باعث می شود وردپرس زنده اجرا شود، مثلا اگر در حال ویرایش یک پست در وردپرس هستید، به وسیله heartbeat به شما اطلاع داده می شود که کاربر دیگری هم اکنون کنترل نوشته را به دست گرفته و خیلی از کارهای دیگر که طی این مقاله به آن ها اشاره خواهیم کرد.
اگرچه heartbeat وردپرس ویژگی مفیدی است اما برای وب سایت هایی با منابع سرور کم و محدود کمی زیاده روی محسوب می شود. روش کار ضربان قلب وردپرس به این صورت است که هر چندثانیه( هر ۱۵ ثانیه در زمان ویرایش پست و هر ۶۰ثانیه در سایر قسمت های داشبورد مدیریتی) یک درخواست زنده به صورت Ajax به وردپرس ارسال می کند. حالا فرض کنید چند نویسنده دارید یا وب سایت شما بازدید بالایی دارد که روی هر ثانیه زمان خالی CPU سرور تان حساب کرده اید، اصلا ممکن است شما همیشه یک سربرگ(تب) باز در مرورگرتان داشته باشید که داشبورد وردپرس همیشه درآن وجود دارد و هر دقیقه دارد با سرور ارتباط می گیرد و روی کارایی وب سایت شما تاثیر می گذارد.
این قابلیت به وسیله آدرس wp-admin/admin-ajax.php و توسط یک درخواست ajax اجرا می شود. اگر در گزارشات سرور تان متوجه مقدار زیاد درخواست به این فایل شدید پس حتما نیاز به تغییر نرخ ضربان قلب دارید تا در مصرف منابع صرفه جویی کنید.
چگونه Heartbeat وردپرس را متوقف کنیم؟
اگر تنها شخصی هستید که وب سایت را مدیریت می کند پس نیاز چندانی به قابلیت های چک کردن هر چندثانیه با سرور برای آخرین تحولات وردپرس ندارید و در اغلب موارد قادر خواهید بود تا به طور کل ضربان قلب وردپرس را متوقف کنید.
برای غیرفعال کردن آن کافیست فایل functions.php موجود در قالب تان را با کپی پیست کردن کد زیر در درون تگ <?php ویرایش کنید:
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
به وسیله این کد عملکرد heartbeat به طور کل متوقف خواهد شد و دیگر منابع سرورتان صرف این ویژگی نخواهند شد.
چگونه Heartbeat وردپرس را محدود کنیم؟
اگر قصد به طور کل غیرفعال کردن ضربان قلب وردپرس را ندارید کافیست نرخ اجرای آن را کاهش دهید تا فشار بیش از حدی به سرور سایت تان نیاید. برای این کار نیاز به یک افزونه به نام Heartbeat Control دارید. این افزونه را نصب و فعال نمایید سپس به منوی تنظیمات و سپس heartbeat control settings بروید و از منوی heartbeat behavior گزینه modify heartbeat را انتخاب کنید. سپس تمامی صفحاتی که مایل هستید در آن این تنظیمات اعمال شود را انتخاب کرده و زمان ۶۰ثانیه یا بالاتر را برای آن انتخاب کنید.
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید