Pokles vykonu Apache/PHP4/MySQL

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Květen 4 12:23:57 CEST 2004


On Tue, 4 May 2004, Pavel Lisy wrote:

> > Zajimavy je ten pokles vytizeni CPU na 50 %. To znamena, ze to drhne nekde
> > mimo CPU. Urcite neni nikde ucpane I/O? Mozna by neco naznacilo, kdyby se
> > ty Apacovy procesy v tomto stavu protrasovaly, protoze musi nekde na 
> > neco cekat.
> Mohl byste mi poradit, jak to mohu "v tomto stavu protrasovat"? 
> Znam pouze strace, ale to by asi hodne ovlivnilo vykon/chovani, nebo ne?

Samozrejme, ze to do jiste miry ovlivni chovani, ale kdyz se to cele zadre
popisovanym zpusobem, tak by pricinu mohl strace ovlivnit. Nemuze se stat
nic horsiho, nez ze na nic neprijdete. :)  (Samozrejme mam na mysli, ze se
aspon v prvni fazi zacne trasovat az v okamziku, kdy se to zadre.)

> > Zajimavy je take ten pokles spotreby pameti o 100 MB. Zkuste zjistit, kdo
> > tu pamet uvolnil: Apache? jeden proces nebo ruzne jeho procesy? nekdo
> > jiny? Nechcipnul nahodou nejaky proces provadejici nejakou podpurnou
> > cinnost (treba DNS cache), coz nasledne zpomalilo vyrizovani prichozich
> > pozadavku?
> Toto se mi nepodarilo zjistit.

Aha...tohle byste mel prozkoumat, protoze to neni samosebou.

> Existuje nejaky zpusob/nastroj, jak zjistit, kolik fyzicke pameti zabira 
> dany program? Pripada mi, ze v top napr. mysql pise, ze zabira 40x 20MB, 
> ale nejsem si jisty, kolik z te pameti je ve fyzicke pameti sdileno na 
> stejnem miste. Je nejaky nastroj ktery toto rozlisuje?

Pokud je to 40 threadu jednoho procesu, pak je to jednou 20 MB.
Informace, ktere lze o spotrebe pameti ziskat z linuxoveho jadra (aspon
z 2.4.x), maji sve rezervy. Jedna je v tom, ze nelze spolehlive detekovat
procesy/thready sdilejici pametovy prostor (i kdyz pomerne spolehlive to
lze udelat tak, ze se porovnaji vsechny parametry vm). Druha je v tom, ze
jadro sice hlasi, kolik pameti je sdilene mezi ruznymi procesy (presneji
mezi ruznymi vm), ale nerozlisuje to mezi strankou sdilenou dvema procesy
a strankou sdilenou vsemi procesy (tohle uz bohuzel moc dobre obejit
nejde). Hlasi se nejaci dobrovolnici? ;)

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux