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. 🙂

13 Comments

  1. 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 🙂

    1. 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.

      1. 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 🙂

      2. 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.

  2. 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

    1. 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.

    1. 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.

  3. 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?

    1. 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. 🙂

  4. mas ijin bertanya, jika ingin mengirim penggunaan load avarage kemudian kirim alert email atau telegram memungkinkan ga mas?

    1. 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?

Tinggalkan Balasan ke shafira Batalkan balasan

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