Ngobrolin load average Linux
Pertanyaan dari mas Niko soal load average Linux atau kadang disebut juga system load jadi motivasi untuk topik kali ini. Tahu darimana kalau spesifikasi Virtual Private Server yang kita beli cukup? Kalau di shared hosting kita tinggal ikut saja settingan web hostingnya, tapi kalau di VPS kita harus tahu VPS seperti apa yang sebanding dengan pekerjaannya. Jangan sampai sudah terlanjur sewa setahun tapi dalam 2 minggu kolaps dan harus pindah lagi. Saya pernah mengalaminya waktu masih imut – imutnya dulu. Hehe. 😀
Diawali dulu dari yang mendasar, tahu darimana kita beban kerja rata – rata Linux? Kalau di Windows ada task manager maka di Linux ada perintah <a href="https://servernesia.com/326/memantau-proses-sistem-linux/" target="_blank">top</a>
. Hasilnya kurang lebih seperti ini:
top - 07:28:37 up 139 days, 2:10, 1 user, load average: 0.93, 0.83, 0.67
Tasks: 117 total, 1 running, 116 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st
KiB Mem : 3882180 total, 286028 free, 493920 used, 3102232 buff/cache
KiB Swap: 786428 total, 420428 free, 366000 used. 2775396 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9012 nginx 20 0 551544 48160 24932 S 0.7 1.2 1:17.68 php-fpm
9013 nginx 20 0 554224 50680 25136 S 0.7 1.3 1:19.22 php-fpm
13 root 20 0 0 0 0 S 0.3 0.0 1385:18 rcu_sched
17 root 20 0 0 0 0 S 0.3 0.0 782:41.20 rcuos/3
8774 root 20 0 157660 2096 1452 R 0.3 0.1 0:02.21 top
20902 root 20 0 0 0 0 S 0.3 0.0 0:20.02 kworker/1:2
21777 nginx 10 -10 190644 30204 1724 S 0.3 0.8 225:46.62 nginx
21778 nginx 10 -10 190644 28064 1708 S 0.3 0.7 207:11.04 nginx
1 root 20 0 44400 6364 1948 S 0.0 0.2 11:41.33 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:02.70 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:58.30 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:10.30 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2
Ini dari VPS yang saya sewa dari VP Easy dengan LEMP stack, spesifikasi yang berhubungan adalah adanya 4 vCPU (nanti akan saya jelaskan).
Dan bisa anda lihat pada sisi kanan atas ada tulisan load average
disusul deretan 3 angka. Angka yang pertama adalah beban kerja dalam satu menit, kedua adalah 5 menit dan ketiga adalah dalam 15 menit. Kita sudah tahu angkanya bisa bernilai koma, tapi yang masih banyak yang belum tahu adalah cara membaca nilainya.
Kita misalkan dulu anda menyewa sebuah Droplet dari DigitalOcean yang paling kecil, dapatnya 1 vCPU. Setelah anda install Apache, MySQL, PHP-FPM ternyata angka di load average ada di sekitar 0.5
. Ini berarti sudah separuh kemampuan CPU (aslinya keseluruhan kerja sistem Linux, tapi saya sederhanakan agar mudah dipahami) sedang digunakan. Gampang kan? Bagaimana bila secara konstan angkanya 1.00
? Berarti dipakai secara penuh dan VPS anda masih mampu mengelolanya. Yang jadi masalah kalau sudah diatas angka 1, berarti banyak tugas yang mengantri untuk diselesaikan dan kalau terus bertambah niscaya langsung KO. Koneksi SSH pun ngelag.
Apa solusinya? Anda sebaiknya upgrade ke spesifikasi VPS yang lebih tinggi terutama dari segi vCPU. Misal anda gunakan VPS dengan spesifikasi yang sama dari milik saya diatas dengan 4 vCPU berarti masih aman walaupun sudah mencapai 4.00. Karena itulah banyak core (inti) prosesor jadi lebih berharga begitu spesifikasi VPS anda ingin ditingkatkan. Ngefek langsung ke performa soalnya.
Saya tambahkan sedikit detail, saya berikan contoh hitung system load diatas berdasarkan vCPU karena memang paling mudah dan 90% akurat lah. Tapi ada hal – hal lain yang bisa berpengaruh terhadap melonjaknya angka load averagenya. Salah satunya adalah I/O dan salah duanya adalah node abuse.:
- Kalau kecepatan I/O VPS anda kalah dibandingkan proses menulis/bacanya dijamin stalling (nyangkut) dan ini pengaruhnya semua proses akan terhambat. Solusinya sebaiknya anda prioritaskan cari yang SSD atau bahkan NVMe dibandingkan HDD biasa.
- Yang kedua adalah node abuse (penyalahgunaan server VPS). Sedangkan node abuse ini maksudnya ada pengguna VPS lain dalam satu server yang sama yang sadis dalam menggunakannya, langsung digas pol dan efek buruknya ke tetangga. Kalau ini solusinya ga banyak, laporkan ke provider dan apabila terulang lagi siap – siap minggat saja.
Mestinya ada lagi penyebabnya system load VPS tinggi, tapi dari pengalaman terutama adalah CPU, I/O dan abuse. Ya sampai disinilah ilmu saya dan karena itu saya berikan judul ngobrol. 😀
Sekian dan semoga bermanfaat. 🙂
nah itu yg kedua node abuse, tetangga kena getahnya, ini kalau di vps kvm nggak saling mempengaruhi kan mas?
pengalaman di xvmlab yg pakai openvz cepat sekali naik cpu loadnya sedang di DO aman2 saja, jadi sekarang xvmlabs saya pakai untuk tujuan backup saja dari DO selain untuk testing2 juga 🙂
Kalau dari kata orang – orang sih resikonya tetap ada, tapi KVM memang lebih membatasi lagi kemampuan VPS untuk menghancurkan satu node. Dan dari pengalaman memang selama ini terjadi di OpenVZ. Waktu masih awal sekali bisa melihat load average 21.00 lewat. 😥 Ini karena I/O, steal dan node abuse. Klop sudah kombinasinya. Hehe. 😀
Yang di XVM Labs ini ada sistem throttle otomatisnya mbak, misal penggunaan CPU pas puncak – puncaknya selama sekian menit maka akan langsung diturunkan frekuensinya selama 10 menit. Begitu dilepas kalau normal ya dibiarkan, tapi kalau berlanjut ya dihukum lagi. Ibaratnya murid di kelas kena setrap guru. Hehe. 😀 Saya pernah kena soalnya, maksimal sekitar 5ribuan per hari lah kalau pakai yang 1GB. Agak sensitif memang aturannya.
Pindah Leaseweb saja mbak, kan ada yang lokasi SG juga. Atau ke US sana cari yang murah. Kalau buat website asalkan konektivitas bagus sudah OK.
iya memang dari hasil baca2 review di lowendtalk, bandwagonhost ini memang paling ketat kalau hal resource, over dikit langsung kena limit 😀 dulu saat pertama kali pakai bisa tiap hari kena cpu limit waktu itu masih pakai phpbb, jadi itu awalnya belajar cara optimasi vps dan coba2 tanpa cp 🙂
Aslinya fitur ini malah menjamin kestabilan nodenya mbak. Tapi mungkin karena produk murah meriah ya jadi sadis banget limitnya. Kalau pada VPS standar kan diberi kesempatan bisa berjam – jam baru kena, ini baru hitungan menit sudah kena.
Pertama, Sama dengan mbak Shafira, apa “node abuse” itu hanya terjadi di OVZ ? Sering saya baca VPS yg menggunakan KVM katanya “resource guaranteed” dan satu lagi “VPS KVM almost like dedicated server”
Terus kedua, kalu mas Chandra pakai 4 vcore, berarti masih aman kalau Load Averagenya belum sampai 4, misalnya hanya 3,5 ?
Mudah-mudahan saya tidak salah paham dengan penjelasan di atas.
Makasih
Bahasa marketing mas. Sama – sama teknologi virtualisasi tapi beda implementasinya saja. Kalau mau sedikit lebih baik performanya maka OVZ, ini karena mereka berbagi system library dari nodenya. Tapi jeleknya privasi kurang dan mudah sekali oversell.
Sedangkan KVM unggul di terisolasinya antar VPS dan privasi. Tidak semudah itu juga mau oversell yang ngawur.
Sepertinya saya sudah bahas dulu: https://servernesia.com/1418/mengenal-tipe-vps/
Sebenarnya soal load average ini secara kebijakan sampai berapa itu tergantung provider VPSnya juga. Yang hitungan saya itu buat estimasi sampai berapa masih lancar digunakan VPSnya, kalau sudah diatas hampir pasti ngelag dan sering – sering error.
Nah.. ada kebijakan provider yang apabila VPSnya menggunakan CPU secara maksimal lebih dari sekian waktu (bisa menit atau jam) akan dithrotlle (dibatasi), dimatikan VPSnya, atau disuspend langsung. Kita yang dianggap abuse posisinya. Hal ini yang jarang dibicarakan pas beli VPS, jadi cuma secara tersirat atau tahu dari pengalaman saja. Tapi selama ini yang saya tahu rata – rata hitungan jam baru dianggap berbahaya. Kalau cuma sesekali (CPU Burst) masih dalam batas toleransi.
mas lebih enak menggunakan vm os linux atau langsung di install di pc linux
Sangat tergantung kebutuhan mbak. Paling mudah coba kerjaannya mbak coba diselesaikan dalam Linux. Kalau terasa repot ya jangan.
Rekomendasi saya pakai Windows saja tetap, karena standarnya kuliah/kantor pakai ini.
Linuxnya di VM saja atau di Laptop/PC nganggur, saya ada VirtualBox dan netbook jadul buat Linux Mint.
Mas Chandra saya ingin banget menguasai semua tentang linux, tpi bagaimana cara agar saya cepat menghafal dan memahami printah2 bahasa linux dan terutama tentang system jaringan. Mas chandra kemarin ikut even jawara cyber di bali engga mas?
Hmm.. kalau tujuannya menguasai ya lebih baik menggunakan Linux sehari – hari mbak. Kalau dipaksakan belajar, nanti malah jadinya menghapal dan ga paham.
Wah… ilmu saya ga setinggi itu mbak sampai ikut kompetisi. Hehe. 🙂
mas ijin bertanya, jika ingin mengirim penggunaan load avarage kemudian kirim alert email atau telegram memungkinkan ga mas?
Bikin script sendiri? Ketrigger kalau load average mencapai angka tertentu dalam beberapa waktu gitu mas? Ya mungkin saja mas, tinggal mengasah kemampuan scripting shell atau Python.
Yang Telegram saya kurang tahu, ada APInya yang bisa dipakai dari server?
Saya mau tanya kalau server saya menggunakan 8vCPU bagaimana perhitungannya ya? apakah sama? Terma Kasih