Load average: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
Kaido Loonurm A21 - '''POOLIK'''
Kaido Loonurm A21 - '''POOLIK'''


Ilmselt ei ole palju väita et linux süsteemide administraatorid on tuttavad load avarage näitajaga.   
Ilmselt ei ole palju väita et linux süsteemide administraatorid on tuttavad load average näitajaga.   
Nagu nimi juba viitab, siis load avarage näitab süsteemi koormust(load), täpsemalt CPU koormust. Mida kõrgem on load avarage väärtus,  
Nagu nimi juba viitab, siis load average näitab süsteemi koormust(load), täpsemalt CPU koormust. Mida kõrgem on load average väärtus,  
seda suurem on CPU koormus, ehk siis mida madalam on load avarage, seda parem. Kui administraator räägib süsteemi koormuse  
seda suurem on CPU koormus, ehk siis mida madalam on load average, seda parem. Kui administraator räägib süsteemi koormuse  
näitajast siis enamjaolt peetakse silmas just load avarage. Üldjuhul võiks load avarage olla üks esimesi näitajaid mida kontrollitakse, kui tahetakse teada kas vaadeldav server on ülekoormatud või mitte.
näitajast siis enamjaolt peetakse silmas just load average. Üldjuhul võiks load average olla üks esimesi näitajaid mida kontrollitakse, kui tahetakse teada kas vaadeldav server on ülekoormatud või mitte.




== Mis on load avarage ==
== Mis on load average ==




Iga administraator võiks süsteemi logimise järel käivitada käsu '''''uptime''''' , sellega näeb ära kui kaua on server järjest töötanud ja mis on load avarage näitaja.
Iga administraator võiks süsteemi logimise järel käivitada käsu '''''uptime''''' , sellega näeb ära kui kaua on server järjest töötanud ja mis on load average näitaja.
  $ uptime       
  $ uptime       
  08:32:30 up 5 days, 15:29, 2 users, load average: 1.37, 10.15, 8.10
  08:32:30 up 5 days, 15:29, 2 users, load average: 1.37, 10.15, 8.10
Näites on näha et load avarage väärtused on 1.37, 10.15, 8.10. Need väärtused näitavad keskmist koormust viimase minuti, 10 minuti ja 15 minuti jooksul. Kui see väärtus oleks 0 siis see tähendab et sinu süsteem on täielikult puhke seisundis. Kui kesmise koormuse näitaja on 1, siis see tähendab et CPU on niipalju hõivatud et üks protsess peab ootama CPU aega. Kui load avarage väärtuseks on 1 ,ning käivitada protsess mis kasutab CPUd siis oleks uus avarage load väärtus 2. Load avarage annab hea ülevaate kui koormatud on sinu süsteem keskmiselt viimase minuti, 10 minuti ja 15 minuti jooksul olnud.
Näites on näha et load average väärtused on 1.37, 10.15, 8.10. Need väärtused näitavad keskmist koormust viimase minuti, 10 minuti ja 15 minuti jooksul. Kui see väärtus oleks 0 siis see tähendab et sinu süsteem on täielikult puhke seisundis. Kui kesmise koormuse näitaja on 1, siis see tähendab et CPU on niipalju hõivatud et üks protsess peab ootama CPU aega. Kui load average väärtuseks on 1 ,ning käivitada protsess mis kasutab CPUd siis oleks uus average load väärtus 2. Load average annab hea ülevaate kui koormatud on sinu süsteem keskmiselt viimase minuti, 10 minuti ja 15 minuti jooksul olnud.




Silmas tuleb pidada, et kui vaadata load avarage väärtust siis see ei ole vastavuses sinu süsteemi  CPU-de arvuga.  
Silmas tuleb pidada, et kui vaadata load average väärtust siis see ei ole vastavuses sinu süsteemi  CPU-de arvuga.  
Kokkuvõtlikult tähendab see seda et ühe CPU-ga süsteemi avarage load 1 on sama mis 4 CPU-ga süsteemis avarage load 4.  
Kokkuvõtlikult tähendab see seda et ühe CPU-ga süsteemi average load 1 on sama mis 4 CPU-ga süsteemis average load 4.  
Kui  nüüd seda silmas pidades vaadata näidet ja arvestada et sellel süsteemil on 1 CPU siis võib sealt välja lugeda,
Kui  nüüd seda silmas pidades vaadata näidet ja arvestada et sellel süsteemil on 1 CPU siis võib sealt välja lugeda,
et 15 min tagasi(8.10) oli süsteemi koormus üsna kõrge, ning 5 min tagasi(10.15) oli koormus tõusnud veelgi,  
et 15 min tagasi(8.10) oli süsteemi koormus üsna kõrge, ning 5 min tagasi(10.15) oli koormus tõusnud veelgi,  
Line 23: Line 23:




Kui aga load avarage näitajad juhtuvad olema sellised: load average: 25.37, 11.15, 8.10, siis sellisel juhul võiks tekkida kahtlus et midagi on korrast ära ja peaks hakkama suure koormuse tagamaid selgitama. Samas peab silmas pidama et igale serverile tuleb läheneda individuaalselt ning võib olla et mõne serveriga ei juhtu sellise koormuse juures midagi ja samas mõni teine server ei saa sellise koormusega üldse hakkama.
Kui aga load average näitajad juhtuvad olema sellised: load average: 25.37, 11.15, 8.10, siis sellisel juhul võiks tekkida kahtlus et midagi on korrast ära ja peaks hakkama suure koormuse tagamaid selgitama. Samas peab silmas pidama et igale serverile tuleb läheneda individuaalselt ning võib olla et mõne serveriga ei juhtu sellise koormuse juures midagi ja samas mõni teine server ei saa sellise koormusega üldse hakkama.
Siinkohal load avarage tõlgendamisel mängib väga suurt rolli kogemus ja vastava serveri iseärasused.
Siinkohal load average tõlgendamisel mängib väga suurt rolli kogemus ja vastava serveri iseärasused.




''' Piltlik näide mis aitab paremini aru saada load avarage väärtusest '''
''' Piltlik näide mis aitab paremini aru saada load average väärtusest '''
----
----
Juhul kui ma ei ole veel suutnud load avarage näitaja suurust suutnud selgeks teha siis toon siinkohal ühe piltliku näite.  
Juhul kui ma ei ole veel suutnud load average näitaja suurust suutnud selgeks teha siis toon siinkohal ühe piltliku näite.  


Oletame et üks CPU tähistab üherealist teed üle silla ja sina oled silla operaator ning tahad kuidagi sillale sõitvatele autodele teada anda kui koormatud sild on.  
Oletame et üks CPU tähistab üherealist teed üle silla ja sina oled silla operaator ning tahad kuidagi sillale sõitvatele autodele teada anda kui koormatud sild on.  


Siis load avarage loogikat kasutades:
Siis load average loogikat kasutades:


* 0.00 - see tähendab et mitte ühtegi autot ei ole sillal
* 0.00 - see tähendab et mitte ühtegi autot ei ole sillal
Line 48: Line 48:
== Kui kõrge on kõrge ==
== Kui kõrge on kõrge ==


Nüüd kui teame mis load avarage endast kujutab tuleks vaadata lähemalt millised näitajad võib lugeda heaks ja millised halvaks.
Nüüd kui teame mis load average endast kujutab tuleks vaadata lähemalt millised näitajad võib lugeda heaks ja millised halvaks.
Sellele kahjuks aga ühest vastust ei ole, sest see sõltub kõik serverist ja sellest mille tagajärjel koormus tõuseb.
Sellele kahjuks aga ühest vastust ei ole, sest see sõltub kõik serverist ja sellest mille tagajärjel koormus tõuseb.
Kui koormus serveris tõuseb siis peaks olema esimene küsimus, et mis tekitab sellist koormust.  
Kui koormus serveris tõuseb siis peaks olema esimene küsimus, et mis tekitab sellist koormust.  
Line 55: Line 55:
Top programmi esimesed 5 rida annavad kokkuvõtlikult infot koormuste ja serveri resursi kasutamise osas. Esimene rida näitab sama infot mis näitab käsk uptime.  
Top programmi esimesed 5 rida annavad kokkuvõtlikult infot koormuste ja serveri resursi kasutamise osas. Esimene rida näitab sama infot mis näitab käsk uptime.  


Kindlasti ei tasuks sattuda paanikasse kui serveri viimase 15 minuti keskmine avarage load on näiteks 15, aga server ei ole aeglane ja ei tekita probleeme. Kuid sellisel juhul peaks vaikselt uurima mis selle avarage load näitaja kõrgeks ajab. Näiteks võib tulla välja et koormuse ajab kõrgeks HDD mis ei tule enam ReadWrite koormusega toime ja siis peaks mõtlema ketaste lisamise või vahetamise peale. Ketaste koormust saab kontrollida iostat programmiga.
Kindlasti ei tasuks sattuda paanikasse kui serveri viimase 15 minuti keskmine average load on näiteks 15, aga server ei ole aeglane ja ei tekita probleeme. Kuid sellisel juhul peaks vaikselt uurima mis selle average load näitaja kõrgeks ajab. Näiteks võib tulla välja et koormuse ajab kõrgeks HDD mis ei tule enam ReadWrite koormusega toime ja siis peaks mõtlema ketaste lisamise või vahetamise peale. Ketaste koormust saab kontrollida iostat programmiga.





Revision as of 20:07, 23 April 2011

Kaido Loonurm A21 - POOLIK

Ilmselt ei ole palju väita et linux süsteemide administraatorid on tuttavad load average näitajaga. Nagu nimi juba viitab, siis load average näitab süsteemi koormust(load), täpsemalt CPU koormust. Mida kõrgem on load average väärtus, seda suurem on CPU koormus, ehk siis mida madalam on load average, seda parem. Kui administraator räägib süsteemi koormuse näitajast siis enamjaolt peetakse silmas just load average. Üldjuhul võiks load average olla üks esimesi näitajaid mida kontrollitakse, kui tahetakse teada kas vaadeldav server on ülekoormatud või mitte.


Mis on load average

Iga administraator võiks süsteemi logimise järel käivitada käsu uptime , sellega näeb ära kui kaua on server järjest töötanud ja mis on load average näitaja.

$ uptime       
08:32:30 up 5 days, 15:29, 2 users, load average: 1.37, 10.15, 8.10

Näites on näha et load average väärtused on 1.37, 10.15, 8.10. Need väärtused näitavad keskmist koormust viimase minuti, 10 minuti ja 15 minuti jooksul. Kui see väärtus oleks 0 siis see tähendab et sinu süsteem on täielikult puhke seisundis. Kui kesmise koormuse näitaja on 1, siis see tähendab et CPU on niipalju hõivatud et üks protsess peab ootama CPU aega. Kui load average väärtuseks on 1 ,ning käivitada protsess mis kasutab CPUd siis oleks uus average load väärtus 2. Load average annab hea ülevaate kui koormatud on sinu süsteem keskmiselt viimase minuti, 10 minuti ja 15 minuti jooksul olnud.


Silmas tuleb pidada, et kui vaadata load average väärtust siis see ei ole vastavuses sinu süsteemi CPU-de arvuga. Kokkuvõtlikult tähendab see seda et ühe CPU-ga süsteemi average load 1 on sama mis 4 CPU-ga süsteemis average load 4. Kui nüüd seda silmas pidades vaadata näidet ja arvestada et sellel süsteemil on 1 CPU siis võib sealt välja lugeda, et 15 min tagasi(8.10) oli süsteemi koormus üsna kõrge, ning 5 min tagasi(10.15) oli koormus tõusnud veelgi, kuid viimase minuti jooksul(1.37) langes koormus tagasi oodatud piiridesse.


Kui aga load average näitajad juhtuvad olema sellised: load average: 25.37, 11.15, 8.10, siis sellisel juhul võiks tekkida kahtlus et midagi on korrast ära ja peaks hakkama suure koormuse tagamaid selgitama. Samas peab silmas pidama et igale serverile tuleb läheneda individuaalselt ning võib olla et mõne serveriga ei juhtu sellise koormuse juures midagi ja samas mõni teine server ei saa sellise koormusega üldse hakkama. Siinkohal load average tõlgendamisel mängib väga suurt rolli kogemus ja vastava serveri iseärasused.


Piltlik näide mis aitab paremini aru saada load average väärtusest


Juhul kui ma ei ole veel suutnud load average näitaja suurust suutnud selgeks teha siis toon siinkohal ühe piltliku näite.

Oletame et üks CPU tähistab üherealist teed üle silla ja sina oled silla operaator ning tahad kuidagi sillale sõitvatele autodele teada anda kui koormatud sild on.

Siis load average loogikat kasutades:

  • 0.00 - see tähendab et mitte ühtegi autot ei ole sillal
  • 1.00 - tähendab et sild on autosid täpselt täis, ei ole järjekorda ja ei ole ka sillal rohkem ruumi
  • rohkem kui 1.00 tähendab et sild on autosid täis ja on ka tekkinud juba järjekord
 = koormus on 1.00
 = koormus on 0.50
 = koormus on 1.70


Kui kõrge on kõrge

Nüüd kui teame mis load average endast kujutab tuleks vaadata lähemalt millised näitajad võib lugeda heaks ja millised halvaks. Sellele kahjuks aga ühest vastust ei ole, sest see sõltub kõik serverist ja sellest mille tagajärjel koormus tõuseb. Kui koormus serveris tõuseb siis peaks olema esimene küsimus, et mis tekitab sellist koormust. Üldiselt võib liigitada algpõhjuse kolmeks: CPU-ga seotud koormuse tõus, mäluga seotud probleemid ja I/O-ga seotud koormus. Probleemi täpsemaks välja selgitamiseks soovitan kasutada programmi top. See on laialt levinud ja peaks olema kohe kättesaadav. Top programmi esimesed 5 rida annavad kokkuvõtlikult infot koormuste ja serveri resursi kasutamise osas. Esimene rida näitab sama infot mis näitab käsk uptime.

Kindlasti ei tasuks sattuda paanikasse kui serveri viimase 15 minuti keskmine average load on näiteks 15, aga server ei ole aeglane ja ei tekita probleeme. Kuid sellisel juhul peaks vaikselt uurima mis selle average load näitaja kõrgeks ajab. Näiteks võib tulla välja et koormuse ajab kõrgeks HDD mis ei tule enam ReadWrite koormusega toime ja siis peaks mõtlema ketaste lisamise või vahetamise peale. Ketaste koormust saab kontrollida iostat programmiga.


Milleks kasutada

Kasutatud kirjandus

http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages http://www.linuxjournal.com/magazine/hack-and-linux-troubleshooting-part-i-high-load?page=0,0 http://en.wikipedia.org/wiki/Load_%28computing%29 http://luv.asn.au/overheads/NJG_LUV_2002/luvSlides.html

Autor

Kaido Loonurm