Tuesday, June 23, 2015

Cara Menurunkan CPU Usage Tinggi Agar Loading WP lebih Cepat

  in HostingWordpressWordPress Plugin 
Memakai shared hosting adakalanya blog mendapatkan CPU Usage tinggi, ditandai dengan loading yang sangat lambat atau indikator CPU Usage 100%.
Hal ini bisa jadi kabar baik atau kabar buruk.
Kabar baiknya, blog kita bisa saja menerima trafik yang tinggi. Kabar buruknya blog kita kemungkinan di suspend/keluarkan atau mungkin hanya boros CPU resources.
Jika kita menghubungi tim bantuan dari penyedia layanan hosting, biasanya mereka mendorong kita untuk memakai VPS Hosting, apa itu VPS Hosting. Tetapi masalahnya,
Sebelum melangkah ke VPS Hosting, ada cara lain agar blog kita bisa menghindari VPS yaitu dengan memaksimalkan pemakaian CPU yang sangkil (efektif) dan mangkus (efesien). Cara ini sangat cocok untuk shared hosting.
Pengalaman saya dengan cara di bawah, dulu ketika blogdiar.net (sekarang ngeblog.co) memakai Hawkhost, CPU Usage 75%-100% bisa ditekan sampai 25%-50%. Tentu hal ini bisa menahan saya untuk beralih ke VPS Hosting.

Penting! Mengetahui CPU Usage Hosting

Sebelum mengatasi pemakaian CPU yang tinggi, kita harus tahu betul mengenai apa itu CPU usage.
Biasanya shared hosting membatasi pelanggannya untuk tidak memakai CPU dan memory secara berlebihan, normalnya mereka membatasi 10%-25% dari total sistem. Contohnya Hawkhost yang membolehkan CPU USage Hosting mereka sampai 15% dari total system, Hostgator membolehkan memakai CPU lebih dari 25% untuk 90 detik, dll.
Hosting yang bagus adalah hosting yang memberikan pelanggannya kejelasan mengenai pemakaian CPU, Memory, dll. Karena dengan begitu pelanggan bisa tahu pada level mana sumber daya yang mereka pakai.
CPU Resource pada Hawkhost
CPU Usage 100%
Ketika masih bersama hawkhost, Sebelum dioptimalkan CPU Usage Hosting kamu seringkali menyentuh angka 100% pada jam-jam tertentu. Yang paling ekstrim, saya menerima pesan 500 server error.
Hawkhost adalah hosting yang bagus, tim bantuan mereka membantu saya menyelesaikan masalah-masalah yang ada. Tetapi, bagaimanapun saya sadar kalau saya memakai shared hosting.
Akhirnya, dengan beberapa tweak dan trial error, saya berhasil menurunkan CPU Usage Hosting Hawkhost dari 75%-100% menjadi 25%-50%. Dengan cara ini juga, ngeblog.co sangat jarang melewati angka 50%.
Menurunkan Pemakaian CPU Resources
Menurunkan Pemakaian CPU Usage Tinggi pada hawkhost

Menurunkan CPU Usage 100%

Berikut adalah beberapa cara yang saya pakai untuk menurunkan pemakaian CPU tinggi pada shared hosting Hawkhost.

Seberapa Efektif Plugin kamu Pakai

Plugin yang baik adalah plugin yang ditulis dengan rapih, maksudnya plugin yang tidak memakai syntax perulangan yang tidak perlu. Seringkali masalah inilah yang membuat kenapa CPU Usage Hosting menjadi tinggi.
Plugin yang dibuat untuk CMS biasanya memakai bahasa PHP, normalnya bahasa PHP tidak begitu membutuhkan tenaga yang tinggi. Tetapi, jika seorang programmer membuat syntax yang jelek, bisa jadi program yang mereka tulis dengan PHP tadi memerlukan CPU usage tinggi.
Begitu juga pada wordpress, ada beberapa plugin yang menurut saya jelek, jika dilihat dari sudut pandang pemakaian CPU dan memori.
Bad Plugin
Bagaimana saya tahu bahwa plugin yang saya pakai memakai CPU tinggi?
Oke, kamu bisa melihat benchmark plugin berikut, Measuring impact of plugins on WordPress loading.
Plugin tersebut adalah plugin populer yang cukup banyak digunakan.
Jika kamu memakai All in One SEO Pack/Plugin SEO sejenis, saya sarankan untuk tidak memakainya lagi. Sebagai gantinya saya menggunakan WordPress SEO by Yoast.
Plugin query generator, seperti related postrelated comment, dsb. Biasanya menjadi penyebab CPU Usage 100 %, karena untuk meng-generate query dari database itu memerlukan tenaga. Mungkin untuk blog baru yang masih sedikit tulisannya (database kecil) tidak akan terasa, tetapi jika blog itu sudah memiliki banyak tulisan atau database yang besar, penurunan loading akan terasa.
Contoh plugin query generator adalah YARPP.
Jetpack, sejujurnya saya rasa jetpack kurang cocok untuk shared hosting. Tetapi saya juga tahu alasan kenapa mereka menyukai Jetpack. Saran saya, non aktifkan modul-modul yang tidak perlu. Karena begitu Jetpack aktif, secara default beberapa modul ikut aktif juga.
Plugin-plugin generator seperti WP-Robot dan STT2 juga membutuhkan CPU yang cukup besar.

Seberapa Optimal Database Kamu?

Database yang buruk juga bisa membuat grafik CPU Usage yang tinggi. Biasanya, database sampah disebabkan dari plugin yang kita uninstall. Plugin memang benar sudah tidak ada, tetapiorphan atau tabel-tabel database masih tersimpan.
Ketika pengunjung blog mencari informasi dengan menklik link, wordpress akan meresponya dengan menampilkan informasi yang diminta dari sebuah database. Bisa saja wordpress menampilkan informasi tersbut dari relasi beberapa tabel database.
Waktu loading akan semakin lambat ketika wordpress meng-generate informasi dari relasi tabel tersebut melewati tabel-tabel sampah akibat plugin yang di-uninstall sebelumnya.
*koreksi saya jika salah.
Lalu bagaimana cara untuk membersihkan tabel sampah tersebut?
Kamu bisa saja menghapusnya melalui PHPmyAdmin. Tetapi, saya sendiri lebih suka menghapusnya dengan plugin lagi, bernama clean Option dan Optimize Database after Deleting Revisions.
Khusus untuk Clean Option, saya akan mengulasnya lebih lanjut di tulisan lain.
Saran saya, sebelum menjalankan Clean Option sebaiknya backup terlebih dahulu database.
Untuk menjalankan Clean Option, pertama install plugin, lalu masuk Tools > Clean Options > centeng “Don’t show the Known WordPress…” > Lalu klik “Find Orphaned Option”.
CPU Usage Hosting
contoh orphaned
Di sana akan muncul daftar orphan yang bisa jadi tidak dipakai lagi di blog. Nah, itulah yang akan kita hapus.

Optimalkan Komentar

Banyaknya komentar yang masuk atau spam yang masuk bisa juga mengakibatkan beban CPU usage tinggi. Kabar baiknya, kita bisa memakai sistem komentar pihak ketiga, seperti facebook, Disqus, atau JetPack Comments.
WordPress sangat fleksibel, kita bisa memakai ketiganya sekaligus, tetapi saya sarankan satu. Rekomendasi saya Disqus Comment.
Tetapi, jika kamu tidak ingin memakai thrid party, kita juga bisa memaksimalkan sistem komentar default wordpress. Berikut adalah beberapa tips optimasi sistem komentar defaultwordpress:
  1. Gunakan Antispam seperti Akismet atau Captcha
  2. Gunakan default avatar Mystery Man
  3. Batasi level komentar
  4. Tutup komentar untuk tulisan yang kadaluarsa

Gunakan Cache Plugin

Keuntungan dari cache plugin selain menurunkan beban server, juga mempercepat blog kita. Karena sesuai namanya, request yang berulang-ulang disimpan di cache.
Plugin cache yang saya gunakan adalah W3 Total Cache, tetapi kamu bisa memilih plugin cache lain seperti WP-SuperCache atau QuickCache.

Gunakan CloudFlare

Sejujurnya tidak ada alasan untuk tidak memakai CloudFlare. CloudFlare menawarkan CDN dan juga sistem keamanan yang lebih aman. Terlebih lagi semuanya bisa didapatkan secara gratis.
CPU Usage 100%
Tanpa CloudFlare
Setelah memakai CloudFlare, konten kita secara otomatis akan disebarkan ke server CloudFlare untuk CDN, sehingga request ke server asli kita akan berkurang dan otomatis mengurangi beban CPU Usage Hosting.
Selain itu juga, CloudFlare menjadi firewall bagi spammer. Mereka mendeteksi apakah No IP visitor membawa malware atau tidak. Dengan CloudFlare kita juga bisa memblok negara-negara pengirim spammer terbanyak seperti China, Hongkong, atau Rusia.
Lebih jauh mengenai CloudFlare, tentang penjelasan detail apa itu CloudFlare, bagaimana cara memasang CloudFlare, Care Menggunakan CloudFlare.
CPU Usage Hosting
Dengan CloudFlare
Yang terpenting dari semuanya adalah update, seberapa canggih optimasi yang kita lakukan, jika kita tidak update akan sia-sia. Karena tujuan dari update adalah memperbaiki sistem keamanan.
**
Cara di atas sudah saya lakukan, dan cukup menahan saya sebelum beralih ke VPS.
Masalah klasik CPU Usage tinggi atau CPU Usage 100% biasanya terjadi pada hosting yang memakai CloudLinux. Jika kamu memiliki tips lain menurunkan CPU Usage tinggi jangan lupa kasih tahu kita yah.
https://pabelog.com/cpu-usage-tinggi/