cerita dimulai dari website yang loadnya lama sampai akhirnya tidak bisa dibuka dan keterangannya vps down. sudah di ping menggunakan terminal dan koneksinya lancar, artinya bukan karena pihak servernya, tapi management vpsnya.
ketika diperiksa di htop, diketahui load avveeragenya sampai 100 lebih, padahal normalnya harus dibawah 4. cpu full merah mentok. lihat gambar dibawah ini
SOLUSI DARI HARDINAL:
1. Pertama
Cara awal sekali yang harus dilakukan adalah dengan mematikan plugin dan theme. karena biasanya load tinggi karena antara dua itu. cara cepat dengan command ssh dibawah ini:
cd /var/www/html; for x in *; do cd /var/www/html/$x && wp plugin deactivate --all --allow-root && wp theme install twentytwentyfour --activate --allow-root; done
2. Kedua
Jika diatas loadnya masih tinggi maka perlu dicek satu persatu mana domain yang bermasalah. Caranya sebagai berikut:
a. nonaktivkan seluruh domain dengan command:
cd /etc/nginx/sites-enabled/ && for x in *; do unlink $x; done && reboot
di step kali ini, load vps akan kembali normal
b. aktivkan satu persatu domain, dan dievaluasi, apakah domain tersebt yang bermasalah. yaitu dengna melihat apakah setelah domain yang baru saja diaktivkan menyebabkan vps load tinggi. commandnya:
ln -sf /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/; service nginx reload
dengan mengetikan perintah diatas maka domain.com kembali aktiv dan pantau apakah load vps membesar atau tidak. jika membesar, kemungkinan masalahnya ada pada domain tersebut.
lanjut dengan domain berikutnya sampai ketemu mana domain yang bermasalah.
tambahan:
- untuk hanya menonaktivkan 1 domain saja ini commandnya:
unlink /etc/nginx/sites-enabled/abc.com; service nginx reload
lalu di vps di reboot, agar tidak ada bekas aktivitas domain yang masih aktiv
- untuk mengaktivkan seluruh domain sekaligus commandnya:
cd /etc/nginx/sites-available/ && for x in *; do ln -sf /etc/nginx/sites-available/$x /etc/nginx/sites-enabled/; done; cd; service nginx reload
3. Ketiga
untuk kasus maspingi, ternyata setelah input satu domain saja, load kembali membesar, dicek domain kedua sampai ke 10. semuanya sama, membuat load vps tinggi. sampai akhirnya maspingi kembali menonaktivkan semua domain dan menginstall domainbaru.com yang belum pernah terinstall sebelumnya. anehnya, me-load tinggi.
maka oleh hardinal dilihat lognya dengan cara mengaktifkan log pada domainbaru.com. commandnya
sed -i '/error_log \/var\/log\/nginx\/abc.com.error.log;/a \\taccess_log \/var\/log\/nginx\/abc.com.access.log;' /etc/nginx/sites-available/abc.com; nginx -t && service nginx reload
lalu untuk melihatnya:
tail -f /var/log/nginx/abc.com.access.log
nah darisini ketahuan bahwa ada crawl yang besar yang dilakukan oleh pinterest dan google. dan memang maspingi sebelumnya banyak aktiv di pinterest.
pertanyaannya, lalu kenapa bahkan domain baru bisa tetap bisa ngeload tinggi? padhal jelas tidak ada plugin dan theme agc atau semacamnya.
jawabannya adalah, karena setiap domain yang dipointing ke ip vps, otomatis akan menjadi layer domainbaru.com. karena secara default semua domain yang dipointing ke ip vps akan otomatis me-layer ke domain dengan abjad awal yaitu A, untuk case maspingi vps sudah tidak ada domain aktiv dan hanya domainbaru.com, maka semua domain yang terpointing ke ip vps akan me-layer (domain parker) ke domainbaru.com.
solusinya adalah: dengan menonaktivkan semua url yang berawalah /search. commandnya adalah seperti berikut ini:
sed -i '$!b;/}/i \ \ \ \ location ~* /search {\n\ \ \ \ \ \ \ \ return 403; # or 404\n\ \ \ \ }' /etc/nginx/sites-available/abc.com && service nginx reload
PROBLEM SOLVED ALHAMDULILLAH
tambahan: di vps lain aapanel maspingi tetap menggunakan script agc untuk optimasi pinterest, tapi dengan ketentuan wajib memblock bot pinterest dan google. caranya yaitu dengan memasang script block crawl pinterst dan google di httacces, kodenya adalah sebagai berikut:
# Block Googlebot
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
RewriteRule .* - [F,L]
# Block Pinterest bot
RewriteCond %{HTTP_USER_AGENT} Pinterest [NC]
RewriteRule .* - [F,L]
konsekuensi dari script diatas adalah masih belum jelas. untuk sementara tidak bisa claim domain di pinterest, maka triknya hapus dulu kode diatas, lalu pasang lagi. dan yang terpenting untuk sekarang auto pin rss masih tetap berlangsung meski kode diatas terpasang. dan juga load vps aapanel maspingi jadi jauh lebih ringan dan stabil.
0 Response to "Load VPS Hardinal Overload, CPU Full"
Posting Komentar