getrusage / stime a utime

Dracula 007 dracula007 na atlas.cz
Úterý Červen 27 18:07:43 CEST 2006


> On Tue, 20 Jun 2006, Dracula 007 wrote:
> 
>>   1) cas potrebny na vyhodnoceni skriptu (realny cas mereny pomoci
>>      microtime() jako rozdil hodnot na konci a na zacatku skriptu)
>>
>>   2) utime a stime
> 
> Teď mne napadlo, že chyták je asi někde jinde: (1) se počítá cca od
> zahájení zpracování skriptu do jeho dokončení, zatímco (2) se počítá
> od vzniku procesu (fork()) zase do cca ukončení zpracování skriptu.
> A teď jde o to, že jeden apačský proces může postupně zpracovávat víc
> požadavků, a tudíž (2) může počítat úhrn za mnohem delší období než (1),
> čili výsledné hodnoty se mohou jevit větší.
> 
> Řešení by asi bylo to udělat zcela symetricky: provádět getrusage() i na
> začátku skriptu a také to na konci odečíst.
> 

No, to mne nenapadlo, ale vypada to vice nez pravdepodobne. My si
samozrejme logujeme utime/stime na zacatku a na konci, ale ty rozdily
jsou zanedbatelne - ta aplikace silne vyuziva databaze, cili vetsinu
prace odedre jinej proces (postgres). Ale prislo mi zvlastni ze ten
utime na zacatku je tak obrovskej (ve srovnani s realnym casem i stime).

Pripisoval jsem to nejake inicializaci, parsovani apod. (coz samozrejme
z PHP nezmerim), ale tohle vypada pravdepodobneji. Proste ty hodnoty se
vztahuji k jednomu apachimu procesu kterej vyridi vice PHP pozadavku a
tudiz se hodnoty kumuluji ...

t.v.


Další informace o konferenci Linux