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