Jaký load je na web serveru ideální?

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Jaký load je na web serveru ideální?
« kdy: 07. 12. 2010, 16:24:35 »
Na serveru je tento load průměně

Server Load    1.06 (8 cpus)

Ale jsou chvíle kdy je i: Server Load 6.00 (8 cpus)
Jednou když jsem něco archivoval tak tam bylo pokud pamatuji Server Load 15.00 (8 cpus)

Defaultně je tam v cPanelu nastaven červený vykřičníček když je load více jak 2.00 myslím. Chci se zeptat Jak je možné že byl load 15 a přitom stránky se v pořádku načítaly.

Kolik myslíte že si můžu dovolit mít průměrně aby se hostované internetové stránky v pořádku fungovaly?

děkuji
« Poslední změna: 07. 12. 2010, 19:19:21 od Petr Krčmář »
Linux nováček - CeskeForum.com


PCnity

  • *****
  • 680
    • Zobrazit profil
    • E-mail
Re: Server Load 1.06 (8 cpus)
« Odpověď #1 kdy: 07. 12. 2010, 17:52:31 »
Dam ti k tomu netechnicku a mozno z urciteho uhla az amatersku odpoved... Berte ako mierny offtopic.
Server s malym loadom predsatvuje vyhodene peniaze. Je to nieco obdobne ako nedostatocne zaplnena operacna pamat.
Pokial mas narocne aplikacie ktore vsak maju pod sebou vhodny hw, cize processory nemusia napriklad cakat na diskove alebo sietove I/O... Pokial nedochadza ku cache koliziam/poisoningu a pokial si jednotlive CPU neobsadzuju neustale zbernice... Tak ti load udava len kolko casu processory "nerobia nic", cize pracuju.
V maximalne optimalizovanom systeme sa snazis dosiahnut aby system mal stale co robit a teda aj load sa navonok javi byt vysoky... Napriek tomu je system responsivny.

Len samotny load by nemal byt strategicky ukazovatel, pozeraj detailnejsie a meraj napriklad response time. Z toho ti vznike uzitocna "load" krivka.

Logik

  • *****
  • 992
    • Zobrazit profil
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #2 kdy: 07. 12. 2010, 21:16:36 »
No i když je load 15, tak furt jedno jádro nemá co dělat...
Ono v tomdle případě asi víc, než zátěž CPU může bejt limitací bandwidth paměti
a diskový IO.

Jinak zátěž webovýho serveru je (pokud vyloučim chybama vzniklý nenažraný procesy) daná hromadou malejch požadavků, takže bude mít normální rozdělení (samozřejmě ještě závislý na čase, takže dejmetomu zatížení ve špičce bude normální rozdělení). Takže když si zjistíš typickej load a jeho střední hodnotu, tak můžeš snadno odhadnout, v kolika procentech času bude "nestíhat" (proložíš si tím normální rozhdělení a tam kde přeteče kapacit serveru, tam nestíhá.

ondrej

Re: Jaký load je na web serveru ideální?
« Odpověď #3 kdy: 07. 12. 2010, 21:42:51 »
load je defakto pocet procesu, ktere cekaji na zpracovani. Kdyz bude na webserveru load vyssi, stranky se mohou nacitat pomaleji. Videl jsem parkrat na webserveru load i pres 300 a myslim ze jednou dokonce jeste mnohem vice - zaplnil se disk a apache cekal az bude moci zapsat logy, nicmene prace se systemem byla naprosto bezproblemova. Load se tedy neda brat jako naprosto presne meritko zatizeni systemu ale da se podle nej zjistit ze nastal problem.

PCnity

  • *****
  • 680
    • Zobrazit profil
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #4 kdy: 07. 12. 2010, 21:49:22 »
Este by sa hodilo dodat ze load na Linuxovych jadrach je vlastne pocet processov cakajucich v run queue + pocet processov cakajucich na I/O za nejaky casovy interval.


Re: Jaký load je na web serveru ideální?
« Odpověď #5 kdy: 09. 12. 2010, 14:41:25 »
Load average je prumerny pocet procesu v 'Running' fronte za minutu. Linux navic k tomu poctu v Running queue pripocitava procesy ve stavu Uninterruptible sleep, tzn. cekajici na IO (vetsinou disk). Ovsem ne kazdy IO je uninterruptible.

Kdyz si spustis 'top', a setridis si to podle State, hledej procesy ve stavu 'R' nebo 'D'.
V bezicim topu zmackni tyhle klavesy: x b < R

Pokud vetsinu loadu zpusobuji procesy ve stavu 'R', pak se vesmes da rict, ze procesy potrebuji pocitat (zatezuji CPU). V takovem pripade je mozne snizit load upravenim aplikace, aby tolik nepocitala, prip necyklila, nebo navysenim vypocetniho vykonu. Je jedno kolik jader ma procesor. Pokud je load > 1, znamena to, ze v prumeru existuje alespon jeden proces ktery je nachystany k behu ale musi cekat na zpracovani ostatnich procesu, tzn. neni zadne dalsi volne jadro ktere by se ho ujalo.

Pokud je vetsina procesu v 'D' stavu, je to vetsi problem. Hardware (vetsinou disk) nestiha zpracovavat pozadavky. Opet je mozne zmenou aplikace docilit snizeni loadu (napr. odstranenim systemovych volani na diskove operace ktere nejsou nutne), ale ve vetsine pripadu je asi potreba upgradovat hardware (rychlejsi disk, nebo DMA=on, atd).

Obecne vysoky load neni nic proti nicemu, problem nastava pouze ve chvili, kdy je v running fronte procesu moc (stovky, tisice), protoze pak system nedela nic jineho nez ze jenom prepina kontext mezi procesama a jde to do zamrznuti.

Re: Jaký load je na web serveru ideální?
« Odpověď #6 kdy: 09. 12. 2010, 14:45:24 »
Jo a k te otazce, jaky load je idealni, tak idealni je cokoli mensi nez 1.
Cokoli nad 1 znamena, ze nektere procesy museji cekat na zpracovani jinych procesu. Coz nemusi nicemu vadit, kazdy proces se treba misto za 100 milisekund zpracuje za 200 milisekund ... Uzivatel to ani nepozna. Zkratka to jenom znamena, ze to neni uplne optimalni.

Logik

  • *****
  • 992
    • Zobrazit profil
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #7 kdy: 12. 12. 2010, 11:42:57 »
Hezké shrnutí, ale jestli se nepletu, tak jsi zapoměl na jeden detail - více jader. Pokud mám čtyři běžící procesy a čtyři jádra, tak každej běží na jednom a nečeká nikdo, ne? Takže load averadge musí být větší ne než 1, ale než počet jader, ne? (+ popř. u hyperthreadingu nejlépe 1/2 jader). Nebo se pletu?

Re: Jaký load je na web serveru ideální?
« Odpověď #8 kdy: 12. 12. 2010, 12:40:08 »
Kdyz tak o tom premyslim, tak musim uznat ze mas pravdu :)
Wikipedia to rika stejne jako ty:

Citace
For single-CPU systems that are CPU-bound, one can think of load average as a percentage of system utilization during the respective time period. For systems with multiple CPUs, one must divide the number by the number of processors in order to get a comparable percentage.

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #9 kdy: 15. 12. 2010, 18:27:26 »
To znamená že load 8 v případě procesoru 2x4 jádra je ještě v pořádku, dále se začíná zpomalovat. To mě docela uklidnilo. Load mám na 0,5-1,8 (8 jader).

12% paměti využito

Jak ale poznám že má problémy pevný disk (vysoké I/O)? Že bych se měl zaměřit na přemístění zátěže na procesor? / Paměť?

Jak obecně u skriptů, webů s obrázky a databázemi zajistit vyšší využití paměti a procesoru a snížení práce disku?
« Poslední změna: 15. 12. 2010, 18:29:46 od fotka »
Linux nováček - CeskeForum.com

Logik

  • *****
  • 992
    • Zobrazit profil
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #10 kdy: 15. 12. 2010, 18:37:59 »
Disk by měl problém, pokud byv tompu bylo hodně procesů ve stavu D, popř. to zjistíš pomnocí vmstat (io in/out).
Nicméně v topu se procesy čekající na disk započítávají do čekajících procesů, takže pokud máš load 0,5 - 1,8, tak to imho není nic hrozného.
Disku (mimo jeho posílení např. rozložením zátěže na víc disků) pomůže i upgrade paměti, někdy může pomoci lepší nastavení parametrů databází (větší cache apod.). Tady asi obecný návod neexistuje, tady musíš zjistit co zatěžuje disk a podle toho konat.

hyza

Re: Jaký load je na web serveru ideální?
« Odpověď #11 kdy: 16. 12. 2010, 09:01:34 »
To znamená že load 8 v případě procesoru 2x4 jádra je ještě v pořádku, dále se začíná zpomalovat. To mě docela uklidnilo. Load mám na 0,5-1,8 (8 jader).

12% paměti využito

Jak ale poznám že má problémy pevný disk (vysoké I/O)? Že bych se měl zaměřit na přemístění zátěže na procesor? / Paměť?

Jak obecně u skriptů, webů s obrázky a databázemi zajistit vyšší využití paměti a procesoru a snížení práce disku?
rekonfigurace mysql.

minem

Re: Jaký load je na web serveru ideální?
« Odpověď #12 kdy: 16. 12. 2010, 14:33:22 »
U databází by mohla pomoci data storage s vyšším počtem disků a vhodným raidem.
Při malém počtu disků (1,2) jsou pro zápis naplno využívány všechny a tudíž se čeká na dokončení předchozích operací.  Pokud je disků více, jsou požadavky na zápis rovnoměrně rozděleny mezi jednotlivé disky a dochází k výraznému zvýšení propustnosti celého systému.

Osvědčil se nám počet vyšší než 4, pro přesnější počet by pomohla statistika, kolik přístup na disk je v daném časovém intervalu a o jak velkou databázi se jedná. Důležitým parametrem je také peněžní investice do řešení  :)

Logik

  • *****
  • 992
    • Zobrazit profil
    • E-mail
Re: Jaký load je na web serveru ideální?
« Odpověď #13 kdy: 16. 12. 2010, 18:23:29 »
Je třeba ale říct i B, a to že čím víc disků, tím je to poruchovější a víc to žere, takže pro nějakou rozumně velkou databázi (kdy by se disky kupovali opravdu jen kvůli rozložení zátěže) by daleko lepší investicí byl kvalitní SSD nebo rozšíření paměti (disková cache).

RAID navíc víc pomáhá u kontinuálního IO, u serveru bejvá většinou náhodný.

Tím nechci říct, že RAID je nesmysl, jen pokud není databáze příliš velká, jsou imho lepší možnosti, jak upgradem hardware systém urychlit.