Ngobrolin load average Linux

moch akbar fitrianto

Ngobrolin load average Linux
Bagikan

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

Bagikan

Also Read