Cara Mengatasi CPU Hosting 100% Agar Website Kembali Lancar

Joko Warino

Cara Mengatasi CPU Hosting 100% Agar Website Kembali Lancar

CPU hosting 100% menjadi salah satu masalah yang cukup sering membuat website WordPress mengalami penurunan performa.

Ketika resource CPU mencapai batas maksimal, website dapat terasa sangat lambat, muncul error, sulit diakses, bahkan mengalami downtime.

Kondisi ini tidak selalu disebabkan oleh jumlah pengunjung yang tinggi. Plugin atau tema yang terlalu berat, query database berlebihan, WP-Cron, aktivitas bot, brute-force, proses PHP, hingga kemungkinan malware juga dapat meningkatkan penggunaan CPU.

Karena itu, jangan langsung menyimpulkan bahwa hosting harus di-upgrade.

Langkah yang lebih tepat adalah mencari sumber masalah terlebih dahulu, kemudian mengurangi beban server melalui optimasi plugin, caching, database, cron, keamanan, PHP, dan konfigurasi lainnya.

Apa Itu CPU Hosting?

CPU Hosting adalah kapasitas pemrosesan server yang digunakan untuk menjalankan berbagai aktivitas website.

CPU merupakan singkatan dari Central Processing Unit, yaitu komponen yang memproses berbagai perintah, mulai dari menjalankan PHP, memproses plugin WordPress, menjalankan query database, menangani permintaan pengunjung, hingga menjalankan tugas otomatis seperti WP-Cron.

Pada layanan hosting, kapasitas CPU biasanya dibatasi berdasarkan paket yang digunakan. Ketika penggunaan CPU terus berada di angka 100%, berarti website sedang menggunakan seluruh kapasitas pemrosesan yang tersedia.

Dampaknya dapat berupa website menjadi lambat, proses PHP tertunda, muncul error seperti 508 Resource Limit Is Reached, atau website bahkan tidak dapat diakses.

Contoh Sederhana CPU Hosting

Cara paling mudah memahami CPU hosting adalah dengan membayangkannya sebagai tenaga kerja di sebuah toko.

  • Website = toko
  • Pengunjung = pelanggan
  • CPU = tenaga kerja
  • Plugin dan tema = pekerjaan tambahan
  • Database = gudang tempat mengambil informasi

Ketika pelanggan masih sedikit dan pekerjaannya ringan, semua dapat dilayani dengan cepat. Namun, ketika pelanggan datang bersamaan, pekerjaan tambahan semakin banyak, atau ada pekerjaan yang sangat berat, tenaga kerja akan kewalahan.

Hal serupa dapat terjadi pada hosting. CPU mencapai 100% bukan berarti website pasti sedang mendapatkan trafik sangat tinggi.

Plugin bermasalah, query database berat, WP-Cron yang terlalu sering dijalankan, bot, brute-force, konfigurasi PHP, atau malware juga dapat menjadi penyebab.

Contoh Sederhana CPU Hosting

Cara Mengatasi CPU Hosting 100% pada WordPress

Berikut langkah yang dapat dilakukan untuk mencari penyebab sekaligus menurunkan penggunaan CPU hosting.

1. Cek Penggunaan CPU di Panel Hosting

Langkah pertama adalah mengetahui seberapa tinggi penggunaan CPU dan kapan masalah tersebut terjadi.

besar layanan hosting menyediakan informasi penggunaan resource melalui panel seperti cPanel, walaupun nama menu dapat berbeda pada setiap penyedia.

Cari menu seperti Resource Usage, CPU and Concurrent Connection Usage, atau statistik resource lainnya.

Jangan hanya melihat CPU. Perhatikan juga:

ResourceYang Perlu Diperhatikan
CPU UsageApakah sering mencapai 90–100%
Physical Memory/RAMApakah penggunaan mendekati limit
Entry ProcessesApakah jumlah request aktif terlalu tinggi
Number of ProcessesApakah banyak proses berjalan bersamaan
I/O UsageApakah aktivitas baca/tulis tinggi
I/O OperationsApakah jumlah operasi terlalu banyak
PHP ProcessesApakah proses PHP terus bertambah
Disk UsageApakah kapasitas penyimpanan hampir penuh

Cek Penggunaan CPU di Panel Hosting

CPU yang sesekali menyentuh 100% ketika terjadi lonjakan pengunjung belum tentu menjadi masalah serius.

Yang perlu dicurigai adalah CPU yang terus berada di kisaran 90–100% selama berjam-jam, terutama jika website ikut melambat dan proses PHP terus bertambah.

Contohnya:

Kondisi normal sementara:

  • CPU normal sekitar 20–50%
  • Sesekali mencapai 100%
  • Website masih dapat digunakan dengan baik

Kondisi yang perlu diperiksa:

  • CPU 90–100% selama berjam-jam
  • Website semakin lambat
  • PHP process terus bertambah

Catat juga kapan CPU mulai meningkat. Jika masalah muncul setelah memasang plugin, terjadi pada jam tertentu, atau muncul ketika artikel tertentu mendapatkan banyak pengunjung, informasi tersebut dapat membantu menemukan sumber masalah.

2. Periksa Plugin WordPress

Plugin merupakan salah satu komponen yang perlu diperiksa ketika CPU hosting terus tinggi. Bukan berarti semua plugin memiliki performa buruk.

Masalah dapat terjadi ketika plugin menjalankan terlalu banyak query database, proses background, scanning, request eksternal, atau mengalami error secara berulang.

Beberapa plugin yang perlu mendapat perhatian antara lain:

  • Plugin statistik
  • Plugin backup
  • Plugin security scanner
  • Plugin related posts
  • Plugin pencarian
  • Plugin import/export
  • Plugin optimasi gambar
  • WooCommerce
  • Plugin email marketing
  • Plugin sinkronisasi API
  • Plugin yang membuat banyak cron job

Cara Menguji Plugin :

Jangan langsung menghapus plugin. Lakukan pengujian dengan metode isolasi.

  1. Login ke dashboard WordPress.
  2. Buka Plugins → Installed Plugins.
  3. Catat plugin yang sedang aktif.
  4. Perhatikan plugin yang baru dipasang atau diperbarui.
  5. Nonaktifkan plugin yang dicurigai.
  6. Pantau penggunaan CPU.
  7. Bandingkan dengan kondisi sebelumnya.
  8. Jika CPU turun cukup signifikan, periksa plugin tersebut lebih lanjut.

Jika plugin cukup banyak, jangan menonaktifkan semuanya sekaligus. Pengujian secara bertahap akan membantu menemukan plugin yang menjadi sumber beban.

Hindari pula penggunaan beberapa plugin dengan fungsi sama, misalnya dua plugin caching, beberapa plugin SEO, banyak plugin security, atau lebih dari satu plugin optimasi database.

Fungsi yang tumpang tindih dapat menambah proses WordPress dan menimbulkan konflik.

Periksa Plugin WordPress

3. Aktifkan Caching

Caching merupakan salah satu cara efektif untuk mengurangi pekerjaan server.

Tanpa cache, ketika pengunjung membuka halaman WordPress, server dapat menjalankan PHP, WordPress, plugin, query database, kemudian menghasilkan halaman HTML.

Alurnya:

Browser → Web Server → PHP → WordPress → Plugin → Database → PHP → HTML → Browser

Dengan caching, hasil halaman yang sudah diproses dapat disimpan sementara sehingga server tidak perlu mengulang seluruh proses untuk setiap permintaan.

Alurnya menjadi:

Pengunjung → Cache → Halaman

Jenis caching yang umum digunakan meliputi:

  1. Page cache
  2. Browser cache
  3. Object cache
  4. Opcode cache

Page cache sangat berguna untuk website dengan banyak halaman yang relatif statis.

Aktifkan Caching

Jangan memasang beberapa plugin cache sekaligus. Sistem caching yang tumpang tindih justru dapat menyebabkan konflik.

Setelah caching aktif, periksa kembali loading website, CPU, PHP process, RAM, dan query database. Jika proses dinamis berkurang, penggunaan CPU biasanya ikut menurun.

4. Optimalkan Database WordPress

Database menyimpan berbagai informasi website, seperti artikel, halaman, komentar, pengaturan plugin, metadata, revision, transient, data WooCommerce, dan informasi pengguna.

Database yang besar tidak otomatis bermasalah. Yang perlu diperhatikan adalah struktur tabel, data yang sudah tidak diperlukan, serta query yang berat atau tidak efisien.

Beberapa data yang dapat diperiksa antara lain:

  • Post revision lama
  • Auto-draft
  • Komentar spam
  • Komentar di trash
  • Transient kedaluwarsa
  • Data sisa plugin
  • Metadata yang tidak diperlukan

Jika ingin melakukan optimasi lebih mendalam, Anda juga dapat membaca panduan cara mengoptimalkan database MySQL di hosting.

Penting: selalu buat backup sebelum membersihkan database. Jangan menghapus tabel secara sembarangan karena kesalahan dapat membuat plugin atau website mengalami masalah.

Optimalkan Database WordPress

5. Kurangi Beban WP-Cron

WordPress mempunyai sistem bernama WP-Cron untuk menjalankan tugas terjadwal.

Contohnya publikasi artikel terjadwal, pemeriksaan update, proses plugin, pengiriman email, pembersihan data, Scheduled Actions WooCommerce, dan berbagai pekerjaan otomatis.

Pada kondisi tertentu, WP-Cron dapat menjadi sumber beban server. Mekanisme default WordPress menggunakan aktivitas website untuk memicu cron. Pada website dengan trafik tinggi, proses tersebut dapat dipanggil cukup sering.

Jika diperlukan, WP-Cron otomatis dapat dinonaktifkan melalui wp-config.php.

Gunakan:

define('DISABLE_WP_CRON', true);

Letakkan kode tersebut sebelum:

/* That's all, stop editing! Happy publishing. */

Setelah itu, gunakan Cron Job pada panel hosting untuk menjalankan tugas secara terjadwal.

Kurangi Beban WP-Cron

Interval cron harus disesuaikan dengan kebutuhan website. Hindari membuat cron berjalan setiap beberapa detik karena justru dapat meningkatkan beban server.

Untuk pengguna WooCommerce, periksa juga Scheduled Actions karena banyak proses background dapat berjalan melalui sistem tersebut.

6. Periksa Trafik dan Aktivitas Bot

CPU tinggi tidak selalu berasal dari pengunjung manusia. Website juga menerima request dari crawler mesin pencari, scraper, bot spam, vulnerability scanner, brute-force bot, crawler agresif, API client, dan sistem otomatis lainnya.

Jika bot meminta ribuan halaman dalam waktu singkat, server tetap harus memproses setiap request.

Periksa Access Logs, Raw Access, atau fitur log serupa pada panel hosting.

Cari pola:

IP → URL → waktu → status → user agent

Perhatikan IP yang menghasilkan request dalam jumlah tidak normal serta URL yang paling sering diakses.

Beberapa URL yang patut diperhatikan:

/wp-login.php
/xmlrpc.php
/wp-admin/admin-ajax.php

Periksa Trafik dan Aktivitas Bot

Jika sebuah URL mendapatkan request sangat banyak, lakukan pemeriksaan lebih lanjut.

Namun, jangan langsung memblokir semua crawler karena crawler mesin pencari resmi dapat membantu website mendapatkan trafik organik.

7. Batasi Login WordPress

Halaman login WordPress sering menjadi target brute-force. Bot dapat mencoba username dan password berulang kali.

Setiap percobaan login membutuhkan proses PHP dan dapat melibatkan query database. Jika jumlah request sangat tinggi, penggunaan CPU juga dapat meningkat.

Gunakan beberapa lapisan perlindungan seperti:

  • Limit login attempts
  • CAPTCHA
  • Firewall
  • Two-factor authentication
  • Password yang kuat
  • Username administrator yang tidak mudah ditebak

Jika memungkinkan, gunakan firewall pada tingkat server atau CDN agar request berbahaya dapat dihentikan sebelum mencapai WordPress.

Cara tersebut umumnya lebih efisien daripada membiarkan semua request masuk ke WordPress lalu diproses plugin keamanan.

Batasi Login WordPress

8. Nonaktifkan XML-RPC Jika Tidak Dibutuhkan

XML-RPC memungkinkan aplikasi atau layanan tertentu berkomunikasi dengan WordPress. Namun, jika fitur tersebut tidak diperlukan, request melalui XML-RPC dapat menjadi beban tambahan.

Sebelum menonaktifkannya, pastikan website tidak menggunakan:

  • Aplikasi tertentu
  • Integrasi eksternal
  • Fitur publishing tertentu
  • Layanan yang membutuhkan XML-RPC

Jika memang tidak digunakan, penonaktifan dapat dipertimbangkan. Jangan menerapkan konfigurasi secara sembarangan tanpa memastikan tidak ada fungsi website yang bergantung pada XML-RPC.

9. Periksa Tema WordPress

Selain plugin, tema juga dapat menjadi sumber penggunaan CPU tinggi.

Tema yang terlalu kompleks dapat menjalankan query database berlebihan, request AJAX, custom query, API eksternal, fungsi PHP berat, widget dinamis, related posts, atau pencarian custom.

Untuk menguji apakah tema menjadi penyebab, buat backup terlebih dahulu kemudian gunakan tema WordPress yang lebih ringan sementara.

Jika penggunaan CPU turun secara signifikan setelah tema diganti, ada kemungkinan sumber masalah berasal dari tema sebelumnya.

Namun, jangan langsung menyimpulkan seluruh tema buruk. Bisa saja hanya satu fitur custom yang menyebabkan beban tinggi.

Periksa Tema WordPress

10. Gunakan Object Cache

Object cache berbeda dengan page cache. Object cache menyimpan hasil data atau query tertentu sehingga WordPress tidak harus mengambil data yang sama berulang kali dari database.

Teknologi yang umum digunakan antara lain:

  • Redis
  • Memcached

Object cache dapat bermanfaat terutama pada website dengan trafik tinggi, WooCommerce, database besar, banyak query, banyak pengguna login, atau halaman dinamis.

Tanpa object cache:

WordPress → Database → Data

Dengan object cache:

WordPress → Cache → Data

Sebagian data dapat diambil dari memory sehingga beban database dapat dikurangi.

Gunakan Object Cache

Dukungan Redis atau Memcached bergantung pada layanan dan paket hosting yang digunakan.

11. Periksa Proses PHP

PHP merupakan bagian penting dari WordPress karena sebagian besar proses dinamis dijalankan melalui PHP.

Pada layanan hosting tertentu, Anda dapat melihat:

  • PHP Workers
  • Entry Processes
  • Jumlah proses PHP
  • Penggunaan CPU
  • Penggunaan memory

Jika PHP Worker terus mencapai batas maksimum, request baru dapat menunggu giliran. Akibatnya website terasa lambat meskipun CPU bukan satu-satunya resource yang bermasalah.

Jangan langsung menambah PHP Worker tanpa mencari penyebabnya.

Jika masalah berasal dari plugin yang menjalankan query berat, menambah worker justru dapat membuat lebih banyak proses berat berjalan secara bersamaan.

Akibatnya CPU dan RAM dapat semakin terbebani.

12. Aktifkan PHP OPcache

PHP OPcache dapat menyimpan hasil kompilasi script PHP sehingga server tidak perlu melakukan proses kompilasi dari awal pada setiap request.

Jika hosting menyediakan OPcache, pastikan fitur tersebut aktif.

Pada beberapa layanan, pengaturannya dapat ditemukan melalui:

cPanel → Select PHP Version → Options

Cari opsi:

opcache

dan aktifkan jika tersedia.

Aktifkan PHP OPcache

OPcache tidak akan memperbaiki plugin rusak atau query database yang buruk, tetapi dapat membantu mengurangi pekerjaan PHP yang dilakukan berulang kali.

13. Periksa Error Log

Error yang muncul berulang kali dapat menjadi petunjuk penting untuk menemukan sumber beban server.

Pada cPanel, buka:

Metrics → Errors

atau menu Error Log yang tersedia pada hosting.

Perhatikan pesan seperti:

PHP Fatal error
PHP Warning
Allowed memory size exhausted
Maximum execution time exceeded
Database connection error

Periksa file yang disebutkan dalam error. Misalnya, jika pesan terus mengarah ke:

/wp-content/plugins/plugin-name/...

plugin tersebut patut dicurigai.

Jika error mengarah ke:

/wp-content/themes/theme-name/...

lakukan pemeriksaan terhadap tema.

Periksa Error Log

Jangan hanya menghapus error log agar tampilannya terlihat bersih. Menghapus log tidak menyelesaikan proses yang menghasilkan error. Tujuan pemeriksaan log adalah menemukan sumber masalah.

14. Periksa Keamanan Website

CPU yang tiba-tiba meningkat tanpa perubahan konfigurasi juga perlu dicurigai sebagai kemungkinan masalah keamanan.

Periksa apakah terdapat:

  • Administrator asing
  • Plugin yang tidak dikenal
  • File PHP mencurigakan
  • File baru yang tidak pernah dibuat
  • Perubahan .htaccess
  • Request login dalam jumlah besar
  • Redirect mencurigakan
  • Script asing
  • Aktivitas yang tidak dikenal

Malware dapat menjalankan script PHP secara terus-menerus sehingga resource hosting terkuras.

Perhatikan terutama direktori:

/wp-content/uploads/

Dalam beberapa kasus, folder upload dapat menjadi lokasi file mencurigakan apabila keamanan website sebelumnya telah ditembus.

Namun, jangan menghapus file hanya berdasarkan nama yang terlihat asing. Beberapa plugin memang memiliki file dengan nama yang tidak familiar.

Jika ditemukan indikasi malware, lakukan pemeriksaan menggunakan prosedur keamanan yang benar dan pertimbangkan meminta bantuan pihak hosting.

Tanda Website WordPress Mungkin Terinfeksi Malware

15. Pertimbangkan Upgrade Hosting

Jika berbagai optimasi telah dilakukan tetapi CPU tetap mencapai 100%, kemungkinan resource hosting memang sudah tidak mencukupi.

Upgrade dapat dipertimbangkan apabila:

  • Trafik meningkat signifikan
  • RAM sering penuh
  • CPU sering mencapai batas
  • PHP Worker terus penuh
  • Entry Process sering mencapai limit
  • Database semakin besar
  • Website menggunakan WooCommerce
  • Banyak pengguna mengakses website secara bersamaan

Misalnya website awalnya hanya menerima sekitar 500 pengunjung per hari. Setelah berkembang menjadi 20.000 pengunjung per hari, kebutuhan resource tentu berubah.

Dalam kondisi tersebut, upgrade hosting bukan berarti optimasi sebelumnya gagal. Bisa saja website memang sudah berkembang melebihi kemampuan paket hosting lama.

Tabel Kapan Optimasi dan Kapan Upgrade Hosting?”

KondisiTindakan
CPU sesekali 100%Pantau dan optimalkan
Plugin menyebabkan CPU tinggiPerbaiki/nonaktifkan plugin
Bot menghasilkan request berlebihanPerkuat keamanan
Database/query beratOptimasi database
Trafik meningkat permanenPertimbangkan upgrade
CPU dan RAM terus mentokEvaluasi paket hosting

Sebelum melakukan upgrade, pastikan Anda memilih layanan yang sesuai dengan kebutuhan website.

Untuk membantu membandingkan pilihan yang tersedia, lihat rekomendasi share hosting terbaik di Indonesia

Selain CPU, perhatikan juga RAM, PHP Worker, Entry Processes, storage, I/O, uptime, performa server, customer support, dan kemampuan layanan untuk berkembang.

Anda juga dapat mempelajari cara memilih hosting yang tepat untuk website agar upgrade yang dilakukan benar-benar sesuai kebutuhan.

Urutan Pemeriksaan yang Saya Disarankan

Jika CPU hosting tiba-tiba mencapai 100%, jangan langsung mengganti hosting. Lakukan pemeriksaan secara bertahap agar sumber masalah lebih mudah ditemukan.

Checklist Mengatasi CPU Hosting 100%

Urutan pemeriksaan yang dapat digunakan adalah:

  1. Cek grafik dan penggunaan CPU.
  2. Periksa RAM, Entry Processes, dan PHP Processes.
  3. Identifikasi kapan CPU mulai tinggi.
  4. Periksa plugin yang baru dipasang atau diperbarui.
  5. Aktifkan atau optimalkan caching.
  6. Periksa database dan query yang berat.
  7. Evaluasi WP-Cron dan Scheduled Actions.
  8. Periksa Access Log untuk aktivitas bot.
  9. Lindungi halaman login dari brute-force.
  10. Periksa XML-RPC jika tidak diperlukan.
  11. Uji tema WordPress.
  12. Aktifkan object cache jika didukung.
  13. Periksa PHP Worker dan OPcache.
  14. Baca Error Log.
  15. Periksa kemungkinan malware.
  16. Evaluasi kebutuhan upgrade hosting.

Pendekatan tersebut membantu menghindari keputusan yang terburu-buru. Tidak semua kasus CPU 100% membutuhkan paket hosting yang lebih mahal.

Dalam banyak kondisi, sumber masalah justru dapat ditemukan pada plugin, cron, bot, database, konfigurasi PHP, atau proses WordPress tertentu.

Kesimpulan

Mengatasi CPU hosting 100% pada WordPress tidak cukup hanya dengan menambah resource karena penyebabnya dapat berasal dari berbagai faktor.

Mulailah dengan memeriksa penggunaan CPU dan resource lain melalui panel hosting, kemudian periksa plugin, caching, database, WP-Cron, trafik bot, login WordPress, XML-RPC, tema, object cache, proses PHP, OPcache, error log, dan keamanan website.

Jika seluruh optimasi sudah dilakukan tetapi CPU tetap sering mencapai batas maksimal, sementara trafik dan kebutuhan website terus meningkat, upgrade hosting dapat menjadi pilihan yang masuk akal karena resource paket lama mungkin sudah tidak lagi mencukupi.

Dengan melakukan diagnosis secara sistematis, penggunaan CPU dapat ditekan sekaligus membantu menjaga website WordPress tetap cepat, stabil, dan siap menghadapi pertumbuhan trafik.

Bagikan:

Tags

Joko Warino

Seorang blogger yang mendalami dunia SEO (Search Engine Optimization) dari tahun 2012 hingga saat ini dan terus belajar memahami perkembangan logaritma yang terus di update oleh Google.

Tinggalkan komentar