Panduan Cara

Mengurangi Konsumsi CPU dengan Pembatasan WordPress Heartbeat API

  • Waktu baca 13 menit
  • Tim Hostragons
Mengurangi Konsumsi CPU dengan Pembatasan WordPress Heartbeat API

Pembatasan WordPress Heartbeat API adalah proses untuk mengurangi konsumsi CPU dengan mengurangi frekuensi permintaan admin-ajax.php yang berjalan di latar belakang di panel admin WordPress. Terutama pada hosting bersama, toko WooCommerce yang padat, dan blog dengan banyak penulis, Heartbeat API dapat mengirim permintaan ke server setiap 15-60 detik; ini dapat menyebabkan penggunaan CPU yang tidak perlu, panel admin yang lambat, dan peringatan batas sumber daya. Solusinya adalah mengatur API untuk tidak dimatikan sepenuhnya, tetapi disesuaikan menjadi 60-120 detik sesuai halaman, membiarkannya aktif hanya di area yang diperlukan, dan mengukur hasilnya melalui panel hosting.

Dalam panduan ini, kami akan menjelaskan langkah demi langkah apa itu Heartbeat API, kapan itu menjadi masalah, pengaturan mana yang aman, dan bagaimana cara praktis untuk mengurangi konsumsi CPU di situs WordPress Anda. Tujuannya adalah untuk membatasi lalu lintas latar belakang yang tidak perlu tanpa merusak fitur berguna seperti penyimpanan otomatis dan kontrol sesi. Jika situs Anda sering mengalami masalah seperti 508 Resource Limit, 503 Service Unavailable, atau panel admin WordPress yang lambat, pengaturan ini adalah salah satu optimasi pertama yang harus Anda periksa.

Apa Itu WordPress Heartbeat API?

WordPress Heartbeat API adalah mekanisme WordPress yang berkomunikasi secara berkala antara browser dan server. Komunikasi ini biasanya terjadi melalui file /wp-admin/admin-ajax.php. Melalui sistem ini, WordPress secara otomatis menyimpan draf di layar editor, memberi tahu jika pengguna lain sedang mengedit tulisan yang sama, memeriksa masa aktif sesi, dan menjalankan beberapa pemberitahuan waktu nyata dari plugin tertentu.

Contoh sederhana: Ketika seorang editor sedang bekerja di layar tulisan, WordPress mengirimkan permintaan kecil ke server secara berkala agar draf tidak hilang. Permintaan ini tidak berat jika dilakukan sendiri. Namun, jika ada 8 editor, 2 administrator, dan tim yang mempertahankan panel WooCommerce secara bersamaan, jumlah permintaan dapat meningkat dengan cepat. 10 sesi admin terbuka dapat menghasilkan sekitar 1.200 permintaan Heartbeat per jam dengan interval 30 detik. Jika plugin menambahkan beban data tambahan pada permintaan ini, penggunaan CPU bisa jauh lebih tinggi dari yang diharapkan.

Oleh karena itu, Heartbeat API bukanlah fitur yang buruk; itu dapat menjadi masalah kinerja saat bekerja dengan interval yang salah, di halaman yang tidak perlu, atau dengan plugin yang berat. Di situs yang terkonfigurasi dengan baik, API tetap aktif tetapi frekuensinya dikendalikan.

Kenapa Heartbeat API Meningkatkan Konsumsi CPU?

Konsumsi CPU mengacu pada daya pemrosesan yang digunakan server untuk menjalankan proses PHP. Karena WordPress adalah sistem manajemen konten dinamis, setiap permintaan PHP memerlukan tema, plugin, database, dan inti WordPress untuk bekerja pada tingkat tertentu. Meskipun permintaan Heartbeat tampak kecil, itu juga memicu proses PHP.

Penyebab paling umum dari peningkatan CPU adalah sebagai berikut:

  • Interval permintaan terlalu sering: Di beberapa layar, Heartbeat dapat turun hingga 15 detik. Ini berarti 240 permintaan per jam bahkan untuk satu pengguna.
  • Beberapa tab terbuka: Jika pengguna meninggalkan 4 tab terbuka di panel WordPress, setiap tab dapat menghasilkan lalu lintas Heartbeat yang terpisah.
  • Plugin berat: Plugin keamanan, statistik, pencadangan, pembuat halaman, dan WooCommerce dapat memberikan beban tambahan pada data Heartbeat.
  • Hosting dengan sumber daya rendah: Dalam paket dengan batas CPU yang ketat, bahkan permintaan latar belakang kecil dapat memenuhi batas selama jam sibuk.
  • Konflik antara lalu lintas bot dan pengguna nyata: Ketika ada lalu lintas pengunjung di frontend, permintaan latar belakang di panel admin menggunakan sumber daya yang sama.

Jika Anda melihat akses admin-ajax.php yang sering diulang dalam file log akses, lalu lintas Heartbeat harus diteliti. Di infrastruktur Hostragons, Anda dapat memantau fluktuasi CPU dengan grafik penggunaan sumber daya, dan Anda dapat mengevaluasi opsi paket yang lebih sesuai untuk kebutuhan situs WordPress Anda melalui Hosting WordPress.

Apakah Mematikan Heartbeat API Sepenuhnya Itu Benar?

Jawaban umumnya: Tidak, untuk sebagian besar situs, mematikannya sepenuhnya tidak disarankan. Mematikan Heartbeat API sepenuhnya dapat menurunkan CPU dalam jangka pendek, tetapi penyimpanan otomatis, penguncian konten, penyegaran sesi, dan beberapa pemberitahuan plugin dapat terganggu. Terutama di blog dengan banyak penulis, dua orang yang mengedit tulisan yang sama dapat mengakibatkan kehilangan konten.

Pendekatan yang lebih aman adalah membiarkan API aktif di area yang dibutuhkan dan memperpanjang intervalnya. Misalnya, di layar pengeditan tulisan 60 detik, di panel admin 120 detik, dan di frontend, sebaiknya dimatikan sepenuhnya untuk hasil yang seimbang pada sebagian besar situs korporat. Di toko WooCommerce, bagian seperti layar pesanan dan manajemen stok harus diuji dengan lebih hati-hati.

Tabel Pengaturan Heartbeat API yang Disarankan

Tabel Pengaturan Heartbeat API yang Disarankan
SkemaPengaturan yang DisarankanDampak yang DiharapkanHal yang Perlu Diperhatikan
Blog dengan satu penulisAdmin 120 detik, editor 60 detik, frontend dimatikanPermintaan admin-ajax berkurang secara signifikanInterval penyimpanan otomatis harus diuji
Situs publikasi multi-penulisEditor 60 detik, admin 90-120 detikCPU menurun, penguncian konten terjagaJumlah tab yang terbuka oleh penulis harus dipantau
Toko WooCommerceAdmin 60-90 detik, frontend dimatikan dengan hati-hatiBeban panel berkurangPlugin keranjang, pembayaran, dan stok harus diuji
Situs promosi perusahaanAdmin 120 detik, frontend dimatikanPengurangan beban yang paling amanPlugin formulir dan keamanan harus diperiksa
Situs yang menerima peringatan batas sumber dayaUji 60 detik dulu, kemudian 120 detikPuncak CPU dapat berkurangPengukuran dengan log dan grafik hosting sangat penting

Tabel ini merupakan titik awal. Pengaturan terbaik akan bervariasi tergantung pada jumlah pengguna, struktur plugin, bobot tema, dan sumber daya hosting. Perubahan yang dilakukan tanpa pengukuran terkadang menyembunyikan masalah CPU tetapi tidak menyelesaikan penyebab utamanya.

Bagaimana Cara Membatasi WordPress Heartbeat API?

Ada tiga metode praktis untuk membatasi WordPress Heartbeat API: menggunakan plugin, menambahkan kode ke file fungsi tema, atau memanfaatkan pengaturan bawaan dari plugin performa. Jika pengetahuan teknis Anda terbatas, metode plugin lebih aman. Jika Anda seorang pengembang, Anda dapat melakukan pengaturan yang lebih terkontrol dengan potongan kode kecil.

1. Metode: Pembatasan Menggunakan Plugin Heartbeat Control

Metode yang paling mudah adalah menggunakan plugin yang dirancang untuk mengelola lalu lintas Heartbeat. Dengan Heartbeat Control yang disediakan oleh WP Rocket atau plugin terpercaya serupa, Anda dapat mendefinisikan aturan yang berbeda untuk area yang berbeda.

Langkah-langkah:

  • Masuk ke panel admin WordPress dan pergi ke Plugin > Tambah Baru.
  • Cari Heartbeat Control dan instal plugin yang terpercaya dan terkini.
  • Setelah mengaktifkan plugin, masuk ke layar pengaturan.
  • Tentukan frekuensi untuk dasbor atau panel admin menjadi 60 atau 120 detik.
  • Pilih 60 detik untuk area pengeditan pos, bukan mematikannya sepenuhnya.
  • Matikan Heartbeat untuk frontend atau atur ke interval terpanjang.
  • Simpan perubahan dan awasi grafik CPU selama 24 jam.

Keuntungan dari metode ini adalah dapat dengan cepat dibatalkan. Jika Anda mengalami masalah, Anda dapat menonaktifkan plugin dan kembali ke perilaku default WordPress. Kerugiannya adalah Anda menambahkan satu plugin lagi ke situs Anda. Jika Anda ingin menjaga jumlah plugin tetap rendah, metode kode mungkin lebih tepat.

2. Metode: Mengubah Interval Heartbeat dengan functions.php

Jika Anda ingin melakukan pembatasan dengan kode, tambahkan perubahan tidak langsung ke file tema utama, tetapi jika mungkin, ke file functions.php di child theme atau ke plugin kecil khusus situs. Dengan cara ini, pengaturan Anda tidak akan hilang saat tema diperbarui.

Contoh berikut meningkatkan interval Heartbeat menjadi 60 detik:

add_filter('heartbeat_settings', 'hostragons_heartbeat_interval'); function hostragons_heartbeat_interval($settings) { $settings['interval'] = 60; return $settings; }

Kode ini mendekatkan interval yang lebih pendek secara default menjadi 60 detik, mengurangi jumlah permintaan. Meningkatkan dari interval 15 detik ke 60 detik dapat secara teoritis mengurangi jumlah permintaan Heartbeat hingga 75%. Misalnya, dengan 5 sesi admin, alih-alih 1.200 permintaan per jam, hanya sekitar 300 permintaan yang akan terjadi. Keuntungan nyata tergantung pada berapa banyak proses yang ditambahkan plugin ke permintaan ini.

Jika Anda menginginkan pengaturan yang lebih agresif, Anda dapat mematikan Heartbeat di frontend dan membiarkannya aktif di panel admin:

add_action('init', 'hostragons_disable_heartbeat_frontend', 1); function hostragons_disable_heartbeat_frontend() { if (!is_admin()) { wp_deregister_script('heartbeat'); } }

Kode ini menonaktifkan skrip Heartbeat di frontend. Namun, itu harus diuji di situs yang menggunakan keanggotaan, notifikasi langsung, pembaruan keranjang, atau editor frontend. Jika perilaku terganggu di halaman pembayaran, keranjang, dan akun WooCommerce, lebih aman untuk melakukan pengaturan berbasis halaman menggunakan plugin ini daripada kode.

3. Metode: Mengelola dengan WP Rocket atau Plugin Performa

Beberapa plugin cache dan performa menyediakan kontrol Heartbeat dalam pengaturan mereka. Dengan alat seperti WP Rocket, Anda dapat memilih tingkat yang berbeda untuk panel admin, editor pos, dan frontend melalui tab Heartbeat. Metode ini mengurangi kebutuhan akan plugin tambahan di situs yang sudah menggunakan plugin performa.

Ketika menggunakan plugin performa, pastikan untuk tidak mengaktifkan dua modul berbeda yang melakukan fungsi yang sama secara bersamaan. Misalnya, mengaktifkan pengaturan Heartbeat WP Rocket dan plugin Heartbeat Control terpisah dapat menyebabkan konflik atau perilaku yang tidak terduga. Aturan dasar dalam optimasi WordPress adalah: gunakan satu alat untuk melakukan tugas yang sama, ukur hasilnya, lalu tambahkan perubahan baru.

Menemukan Pengaturan yang Tepat dengan Mengukur Konsumsi CPU

Mengambil pengukuran sebelum dan sesudah pengaturan Heartbeat adalah bagian terpenting dari optimasi profesional. Hanya merasa bahwa panel admin lebih cepat bukanlah bukti yang cukup. Grafik penggunaan CPU, jumlah proses PHP, log akses, dan log kesalahan harus dievaluasi bersama.

Rencana pengujian yang disarankan:

  • Ambil pengukuran awal: Simpan grafik CPU dan RAM selama 24 jam sebelum melakukan perubahan.
  • Periksa log akses: Cek kepadatan permintaan admin-ajax.php per jam.
  • Terapkan pengaturan awal: Tingkatkan interval Heartbeat menjadi 60 detik, matikan di frontend.
  • Tunggu 24-48 jam: Monitor fluktuasi CPU di bawah kondisi lalu lintas yang sama.
  • Coba 120 detik jika diperlukan: Khususnya di situs korporat, interval yang lebih panjang mungkin tidak menyebabkan masalah.
  • Uji fungsi kritis: Periksa penyimpanan otomatis pos, keranjang WooCommerce, manajemen pesanan, dan alur keanggotaan.

Misalnya, jika penggunaan CPU di situs WordPress korporat meningkat hingga 80-90% saat panel admin terbuka, meningkatkan interval Heartbeat dari 15 detik menjadi 60 detik dapat mengurangi puncak CPU hingga 20-40%. Namun, jika di situs tersebut plugin pencadangan melakukan pemindaian penuh setiap jam, optimasi Heartbeat saja tidak akan cukup. Dalam kasus ini, Optimasi kecepatan WordPress dan Penggunaan sumber daya hosting harus ditangani bersama-sama.

Apakah admin-ajax.php Selalu Berasal dari Heartbeat?

Apakah admin-ajax.php Selalu Berasal dari Heartbeat?

Tidak. admin-ajax.php digunakan oleh banyak proses berbeda di WordPress. Heartbeat API hanyalah salah satunya. Plugin formulir, fitur penyaringan, pencarian langsung, pemindaian keamanan, pembaruan keranjang e-commerce, dan beberapa fitur tema juga dapat mengirimkan permintaan ke file yang sama.

Oleh karena itu, hanya melihat lalu lintas admin-ajax.php dan mematikan Heartbeat tidak selalu merupakan diagnosis yang tepat. Anda dapat membuka alat pengembang browser dan memeriksa bagian payload dari permintaan di tab Jaringan untuk melihat apakah ada action=heartbeat. Jika nilai action berbeda, masalah mungkin berasal dari plugin lain.

Analisis log akses di sisi server juga dapat dilakukan. Harus diperiksa dari mana permintaan yang padat berasal, pada jam berapa, dan dari halaman referer mana. Jika lalu lintas berasal dari bot, solusi yang lebih tepat bisa jadi firewall, pembatasan jumlah permintaan, atau perlindungan bot. Untuk koneksi yang aman dan konfigurasi sertifikat yang benar, menjaga halaman sertifikat SSL Anda tetap diperbarui juga penting untuk sinyal performa dan keamanan.

Kesalahan Umum Saat Membatasi Heartbeat

Ketika mencari solusi cepat untuk masalah performa WordPress, beberapa kesalahan dapat merusak fungsi situs. Poin-poin berikut sangat penting, terutama di situs yang sedang aktif:

  • Mematikan API sepenuhnya di semua tempat: Penyimpanan otomatis dan penguncian konten dapat terpengaruh.
  • Menambahkan kode tanpa pengujian di situs langsung: Kesalahan sintaks dapat menyebabkan masalah layar putih.
  • Tidak memeriksa alur pembayaran WooCommerce: Hasil yang tidak terduga dapat terjadi dalam proses keranjang dan pesanan.
  • Menggunakan beberapa plugin performa secara bersamaan: Konflik dapat menyulitkan pengukuran.
  • Mengaitkan masalah CPU hanya dengan Heartbeat: Seringkali query berat, lalu lintas bot, atau tugas cron dapat menjadi penyebab utama.
  • Melakukan perubahan tanpa mencadangkan: Dalam kasus kesalahan kode sederhana, waktu pemulihan dapat meningkat.

Mengambil cadangan file dan database sebelum melakukan perubahan adalah pendekatan yang paling sehat. Jika Anda ingin memantau nama domain, hosting, dan manajemen situs dari satu panel, Anda dapat mengatur infrastruktur Anda dengan lebih teratur menggunakan layanan Pemeriksaan Domain dan Hosting Web.

Tindakan Tambahan untuk Mengurangi Konsumsi CPU Selain Heartbeat API

Pembatasan Heartbeat adalah langkah yang efektif, tetapi optimasi CPU WordPress adalah proses yang lebih luas. Untuk performa yang berkelanjutan, tindakan tambahan berikut juga perlu diterapkan:

Penggunaan Cache

Penyimpanan halaman secara signifikan mengurangi beban PHP dan database pada permintaan pengunjung. Ketika cache diaktifkan di halaman statis, WordPress tidak perlu diproses ulang untuk setiap kunjungan. Ini adalah salah satu cara yang paling efektif untuk mengurangi konsumsi CPU.

Menghapus Plugin yang Tidak Perlu

Plugin yang tidak digunakan dapat meninggalkan beban di database meskipun dalam keadaan pasif. Evaluasi tidak hanya jumlah plugin aktif tetapi juga berat kerja mereka. Secara rutin tinjau plugin statistik, keamanan, pembuat halaman, dan pencadangan.

Kontrol WP-Cron

Sistem cron WordPress dapat dipicu dengan setiap kunjungan. Di situs dengan lalu lintas tinggi, ini dapat meningkatkan konsumsi CPU. Menggunakan sistem cron untuk menjalankan tugas yang terjadwal lebih terkontrol. Topik ini berbeda dari Heartbeat tetapi juga mengurangi beban latar belakang dengan cara yang serupa.

Optimasi Database

Revisi, data sementara, komentar spam, dan catatan transien yang lama dapat membengkakkan database. Pembersihan rutin dapat memperpendek waktu query. Di situs WooCommerce, manajemen pesanan, sesi, dan tabel log menjadi semakin penting saat ukurannya membesar.

Versi PHP dan Sumber Daya Hosting

Versi PHP terbaru biasanya memberikan performa yang lebih baik. Struktur tema dan plugin yang kompatibel dengan PHP 8.x dapat memberikan penggunaan CPU yang lebih rendah di bawah lalu lintas yang sama. Namun, optimasi perangkat lunak harus didukung oleh infrastruktur hosting yang tepat. Jika lalu lintas Anda meningkat, mempertimbangkan opsi server VPS atau hosting WordPress yang dapat diskalakan mungkin menjadi pilihan yang bijak.

Peta Jalan yang Disarankan untuk Aplikasi yang Aman

Saat melakukan pembatasan Heartbeat API di situs WordPress yang hidup, mengikuti urutan di bawah ini akan memberikan hasil yang aman dan terukur:

  • Ambil cadangan lengkap terlebih dahulu.
  • Catat penggunaan CPU, RAM, dan lalu lintas admin-ajax.php saat ini.
  • Verifikasi bahwa Heartbeat benar-benar menghasilkan permintaan yang tinggi.
  • Matikan Heartbeat di frontend atau atur ke interval terpanjang.
  • Jangan turunkan di bawah 60 detik di editor pos.
  • Uji interval 90-120 detik di panel admin.
  • Secara manual uji fungsi WooCommerce, keanggotaan, dan formulir.
  • Bandingkan penggunaan sumber daya selama 24-48 jam.
  • Jika hasil tidak memadai, analisis beban yang berasal dari plugin, tema, dan cron.

Pendekatan ini memungkinkan Anda untuk melakukan optimasi berbasis data alih-alih mengandalkan satu pengaturan. Dalam pemeliharaan WordPress profesional, tujuannya bukan hanya menurunkan nilai CPU, tetapi juga menjaga stabilitas situs dan pengalaman pengguna secara bersamaan.

Kesimpulan: Jangan Mematikan Heartbeat, Batasi dengan Bijak

Pembatasan WordPress Heartbeat API, jika diterapkan dengan benar, adalah optimasi praktis yang mengurangi konsumsi CPU, meredakan panel admin, dan memungkinkan penggunaan sumber daya hosting yang lebih efisien. Metode paling sehat adalah membatasi API di frontend, meninggalkan interval yang aman di editor pos, dan menguji interval 60-120 detik di panel admin.

Jika masalah CPU Anda masih berlanjut, Heartbeat mungkin hanya titik awal; cache, beban plugin, WP-Cron, database, dan paket hosting harus dievaluasi bersama. Jika Anda mencari infrastruktur yang lebih stabil untuk situs WordPress Anda di Hostragons, Anda dapat mengeksplorasi solusi Hosting WordPress dan merencanakan peningkatan yang lembut sesuai kebutuhan sumber daya situs Anda.

FAQ

Apakah WordPress Heartbeat API harus dimatikan sepenuhnya?

Tidak boleh dimatikan sepenuhnya untuk sebagian besar situs. Fungsi seperti penyimpanan otomatis, penguncian konten, dan kontrol sesi dapat terpengaruh. Solusi yang lebih aman adalah mematikan di frontend dan meningkatkan interval menjadi 60-120 detik di panel admin dan editor.

Seberapa banyak Heartbeat API mengurangi konsumsi CPU?

Ini tergantung pada struktur situs. Meningkatkan interval dari 15 detik menjadi 60 detik dapat secara teoritis mengurangi jumlah permintaan Heartbeat hingga 75%. Keuntungan CPU yang sebenarnya bervariasi tergantung pada beban plugin, jumlah pengguna, dan sumber daya hosting.

Apakah penggunaan tinggi admin-ajax.php selalu berasal dari Heartbeat?

Tidak. Formulir, WooCommerce, pencarian langsung, plugin keamanan, dan fitur tema juga dapat menggunakan admin-ajax.php. Anda dapat memeriksa apakah permintaan tersebut berasal dari Heartbeat dengan memeriksa nilai action=heartbeat di tab Jaringan.

Apakah aman untuk membatasi Heartbeat di situs WooCommerce?

Aman, tetapi harus diuji dengan hati-hati. Halaman keranjang, pembayaran, manajemen pesanan, pembaruan stok, dan keanggotaan harus diperiksa. Biasanya, lebih baik memperpanjang interval daripada mematikannya sepenuhnya di situs WooCommerce.

Berapa lama waktu yang direkomendasikan untuk pengujian setelah pengaturan Heartbeat?

Disarankan untuk melakukan pengujian setidaknya selama 24-48 jam. Selama waktu ini, grafik CPU, jumlah proses PHP, permintaan admin-ajax.php, dan fungsi kritis situs harus dipantau. Jika kepadatan lalu lintas bervariasi antara hari kerja dan akhir pekan, pengukuran lebih lama mungkin diperlukan.

Bagikan artikel ini:

Tim Hostragons

Panduan terkini dari tim ahli kami tentang hosting, server, dan nama domain. Mari kita temukan solusi yang tepat untuk proyek Anda bersama-sama.

Hubungi Kami