WordPress Docker CPU Tinggi? Cara Melacak dan Memperbaikinya

Diposting pada

Kejadian CPU server mendadak tinggi sering bikin panik, apalagi saat WordPress berjalan di Docker dan website sedang aktif. Saya pernah mengalami kondisi ini di server produksi. Awalnya normal, lalu tiba-tiba load melonjak tanpa ada deploy atau update apa pun. Karena server tidak boleh down, penanganannya harus cepat dan tepat.

wordpress docker cpu tinggi

Masalah seperti ini biasanya bukan berasal dari Docker-nya, melainkan dari proses di dalam container WordPress itu sendiri. Karena itu, langkah pertama bukan restart, tetapi melacak sumber beban CPU secara bertahap.

Kenapa CPU WordPress di Docker Bisa Tiba-Tiba Tinggi?

Berdasarkan pengalaman, lonjakan CPU WordPress di Docker paling sering disebabkan oleh hal-hal berikut:

  • Bot atau crawler agresif menghantam endpoint tertentu
  • Plugin WordPress berat atau error loop
  • WP-Cron berjalan terus-menerus
  • Query database lambat
  • Serangan brute force ke wp-login.php atau xmlrpc.php

Karena semua berjalan di container, masalah ini sering tidak terlihat jika hanya melihat statistik server secara global.

Langkah 1: Pastikan Container Mana yang Menguras CPU

Masuk ke server lalu jalankan perintah berikut:

docker stats

Perhatikan container WordPress yang CPU-nya paling tinggi. Biasanya langsung terlihat karena nilainya melonjak jauh dibanding container lain seperti database atau reverse proxy.

Langkah 2: Cek Proses di Dalam Container WordPress

Setelah container teridentifikasi, masuk ke dalamnya:

docker exec -it nama_container_wp bash

Lalu jalankan:

top

Di sini biasanya terlihat proses php-fpm atau apache dengan penggunaan CPU tinggi. Jika prosesnya banyak dan terus bertambah, itu tanda ada request abnormal.

Langkah 3: Cek Akses Log WordPress

Akses log sering jadi kunci utama. Masih di dalam container, cek log web server:

tail -f /var/log/apache2/access.log

atau jika menggunakan nginx:

tail -f /var/log/nginx/access.log

Biasanya terlihat request berulang ke /wp-login.php, /xmlrpc.php, atau endpoint tertentu dari satu IP yang sama.

Langkah 4: Matikan XML-RPC Jika Tidak Digunakan

XML-RPC sering menjadi target serangan dan pemicu CPU tinggi. Jika tidak digunakan, sebaiknya langsung diblok.

Tambahkan kode berikut di .htaccess atau konfigurasi nginx:


<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Langkah ini sering langsung menurunkan beban CPU secara signifikan.

Langkah 5: Nonaktifkan WP-Cron dan Gunakan Cron Server

WP-Cron berbasis traffic sering membuat CPU tidak stabil. Solusi yang lebih aman adalah mematikannya.

Edit wp-config.php:

define('DISABLE_WP_CRON', true);

Lalu buat cron job di server:

*/5 * * * * docker exec nama_container_wp php /var/www/html/wp-cron.php > /dev/null 2>&1

Dengan cara ini, cron tetap berjalan terkontrol tanpa membebani CPU.

Langkah 6: Cek Plugin yang Aktif

Jika CPU masih tinggi, nonaktifkan plugin satu per satu. Cara tercepat tanpa login dashboard adalah dengan rename folder plugin:

mv wp-content/plugins/nama-plugin wp-content/plugins/nama-plugin.off

Plugin cache atau statistik sering menjadi penyebab jika konfigurasinya tidak tepat.

Baca Juga:

Kesimpulan

CPU WordPress di Docker yang tiba-tiba tinggi tidak boleh ditangani dengan restart membabi buta. Dengan pendekatan bertahap, sumber masalah bisa ditemukan tanpa downtime. Dari pengalaman di server produksi, kombinasi cek log, blok endpoint rawan, dan pengaturan cron sudah cukup untuk menstabilkan CPU dalam waktu singkat.

Jika ditangani dengan benar, WordPress di Docker tetap stabil dan aman untuk jangka panjang.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *