Strona 1 z 1
[php] jak mierzyc dlugosc wykonywanai skrypu?
: wt paź 14, 2003 7:17 pm
autor: the_foe
No wlasnie? jak najprowsciej to zrobic? mierzenie etapow funkcja tmie() nic nei daje gdyz zawsze roznica daje 0 (widocznei time stawia stamp wszedzie taki sam). Co radzicie?
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: wt paź 14, 2003 8:11 pm
autor: Wojciech Kocjan
Odpowiedz jest blizej niz Ci sie wydaje ;)
Zerknij tu:
http://www.webinside.pl/php/tutoriale/48
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: wt paź 14, 2003 11:39 pm
autor: the_foe
dzieki wielkie!!! ale mam problem. Dokladnie to samo wfralem na rozne serery i jeden z nich nie mierzy realnego czasu!!! O co chodzi, porownajcie:
http://www.cichos.pl/speed/indexa.php
http://foe.boo.pl/speed/indexa.php
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: śr paź 15, 2003 5:20 pm
autor: Wojciech Kocjan
To nie jest zaden problem.. Tak po prostu jest. Logiczne ze na serwerze z lepszymi parametrami technicznymi (glownie procesor) i szybszym laczem, strona zostanie wygenerowana szybciej, niz np. na serwerze z celeronem 300MHZ postawionym na modemie.
Tak wiec na kazdym z serwerow bedziesz mial rozne czasy generowania.. Im mniejszy tym oczywiscie lepszy serwer..
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: śr paź 15, 2003 5:29 pm
autor: the_foe
widze ze nei sprawdziles linkow. Problem w tym ze ten drugi to robi dluzej niz ten pierwszy!!! a zawsze jest i tak niby szybki.Np teraz generowal mi strone 10 sekund a napisal ze trwalo to 0,04 sek. Pierwszy link robi to w ok. 6 sek i rzeczywiscie pokazuje 6.21 sek.
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 9:04 am
autor: Dawid Pytel
No to mam pytanie. Skąd wiesz, że skoro Twój skrypt wykonywał się 6,4 sekundy, tak naprawdę robił to w 6 sekund ?
No a teraz najwazniejsza sprawa. Jak możesz zauważyć wzrokowo granice pomiędzy wykonaniem skryptu a rozpoczęciem generowania HTMLa ??
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 9:30 am
autor: the_foe
Dawid Pytel pisze:No to mam pytanie. Skąd wiesz, że skoro Twój skrypt wykonywał się 6,4 sekundy, tak naprawdę robił to w 6 sekund ?
mozna sie domyslic po tekscie, ze piszac "ok. 6 sek." mial namysli czas mierzony empiryczny - czyli rzeczywisty. Jezeli od wpisania adresu do czasu wygenerowania calej strony mija 6 sek. to znaczy, ze tyle byl generowaqna. Potwierdza to Wasz skrypt dajac taki sam wynik. Wiec o co chodzi?
Moim problem jest to , ze Wasz skrypt nie dziala an innym serwerze, bo chyba mi nie powiecie ze pokazujac ze zrobil to w 4 setne sekundy, a pokazujac mi strone po 10 sek, ze wszytko jest ok. Odnosze takie wrazenie ze chcecie mi to wmowic.
Dawid Pytel pisze:No a teraz najwazniejsza sprawa. Jak możesz zauważyć wzrokowo granice pomiędzy wykonaniem skryptu a rozpoczęciem generowania HTMLa ??
a po co mi to widziec? skrypt mierzy czas calosci (przynajmniej na pierwszym serwerze). Zreszta nie wiem po co ja to mowie - uzywam Waszego skryptu i chyb powinniscie wiedziec jak dziala.
Chcialem sie dowiedziec dlaczego an dwoch serwerach ten skrypt dziala inaczej, a wy mnie przekonujecie ze wszystko jest ok
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 12:40 pm
autor: Dawid Pytel
heh...
nie odpowiedziales mi dalej na moje pytanie (przy okazji wyjasnisz SOBIE kilka spraw).
Skrypt liczy czas wykonywania skryptu php na stronie www a nie czas pojawienia sie strony. Powiedzmy, ze Twoj skrypt pobiera rekordy z bazy danych i pozniej przy ich pomocy worzy kod html. Powiedzmy ze zanim przegladrka z tego kodu zlozy cala strone minie 1 minuta ale Twoj skrypt wykonal sie w powiedzmy 0.4 sekundy.
a "tonem" Twojej wiadomosci tylko irytujesz ludzi co nie pomoze Ci w rozwiazaniu problemu.
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 3:38 pm
autor: the_foe
i jak tu sie nie irytowac!!! Pisalem ze ten skrypt liczy calosc generowania strony, lacznie z przeslaniem wyniku do przegladarki. nie powisz mi chyba ze w pierwszym przypadku strona generowana byla przez 6 sek a potem od razu otrzymalem kilkadziesiat kb, a w drugim przypadku serwer zrobil to w 4 setne tyle ze przez 10 sek to sciagalem.To absurd!!! Tym bardziej ze link pierwszy to serer z 3x szybszy od drugiego.
Tak wiec zmienie pytanie: jak to mozliwe ze na pierwszym sererze ten skrypt mierzy czas lacznie ze sciaganiem wygenerowanej strony a na drugim tylko czas gemnerowania na serwerze?
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 4:58 pm
autor: Dawid Pytel
No to mam do Ciebie prośbę. Pokaż mi ten skrypt. Zwracam Ci honor jeżeli on liczy całkowity czas pokazania strony. Nigdy sie z czyms takim nie spotkalem!
Tak wiec albo ja sie myle albo Ty nei masz zueplnie pojecia jak dziala strona internetowa (wysylanie jej z serwera).
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: czw paź 16, 2003 5:23 pm
autor: the_foe
co prawda 2 i 3 wpis wszytko podaja na talerzu, ale dokladnie to rozipsze:
[php]
<?
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
echo "start: $time_start";
?>
<html>
<?
$txted="<table border='1'>";
while ($zzz<1000){
$txted.="<tr><td>".++$zzz."</td><td>".$zzz*$zzz."</td><td>".$zzz*$zzz*$zzz."</td><td>".$zzz*$zzz*$zzz*$zzz."</td><td>".$zzz*$zzz*$zzz*$zzz*$zzz."</td><td>".$zzz*$zzz*$zzz*$zzz*$zzz*$zzz."</td></tr>";
}
$txted.="</table>";
//echo "generacja tabeli zajela po stronie serwera <b>".$zak." </b>sekund!<br>Wyświetlam tabele - czekaj, potem zejdz na dol - tam bedzie wynik predkosci serwera";
echo "<br><br>";
echo $txted;
?>
</html>
<?
$time_end = getmicrotime();
echo "end: $time_end<br>";
$time = substr($time_end - $time_start, 0, 4);
echo "<b>Strona została wygnerowana w $time sekund.</b>";
?>
[/php]
zobacz tu:
http://www.cichos.pl/speed/indexa.php mierzy calkowity czas tworzenia strony, lacznie ze sciaganiem wyniku.
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: pt paź 17, 2003 5:17 pm
autor: Wojciech Jurewicz
Sam nie jestem do końca pewien, ale na ten błąd mogą składać się dwa czynniki. W jednym przypadku może być lepszy serwer, ale słabsze łącze, a na drugim odwrotnie, stąd ta różnica, no ale ja tylko gdybam...
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: sob paź 18, 2003 2:25 pm
autor: the_foe
no to aby zabic wam gwozdzia porawilem sktypt:
http://www.cichos.pl/speed/indexa.php
Jeszcze ktos twierdzi ze nie mozna zmierzyc calkowitego czasu generowania strony? Wciaz sie pytam dlaczego nei dziala tak na kazdym serwerze? przynajmniej ja testujac dwa, jednego nie moge zmusic do takiego dzialania jak wyzej - po prostu zawsze zwraca mi tylko czas generacji na serwerze.
Jesli wam to pomoze zobaczcie info serwera:
http://www.cichos.pl/info.php
Co do porzedniej wypowiedzi: juz pisalem, to niemozliwe. Czemu? Bo mierzylem empirycznie (stoperem) czas generacji strony, jest praktycznie identyczny z tym jaki pokazuje wynik skryptu! Tak wiec idac tropem poprzedzajacej wypowiedzi Moderatora, musialbym zalozyc, ze 118 KB strony pojawia sie u mnie w ulamku sekundy, co na laczu 56 kb/s jakie mam w domu wchodzi w sfere science-fiction.
Prosze wiec o rzetelna wypowiedz, a nie probe wmowienia mi ze nie rozumiem istoty server-side. Troche za dlugo sie w to bawie...
Zreszta, wczesniej nie chcailem o tym wspominac, cala sprawa przypomina mi sytuacje kiedy na tym forum tyle ze w sekcji dla klient sajdow ktorys z moderatorow probowal mi wmowic ze nie rozrozniam Javy od JS. Choc moim jedynym "bledem" bylo ze gdzies na poczatku wypowiedzi napisalem w skrocie myslowym "Java" bez "scriptu". Nie istotne bylo, ze sprawa ktora przedstawilem dotyczyla jak byk klienta (chodzilo o auto refersh przegladarki), w temacie napisalem skrot [js] i dzial byl cs. Teraz jest podobnie!!! Przeciez analizujac kod, widzimy ze sparwa nie dotyczy faktu ss czy cs, ale podejscia do funkcji czasu - w omawianym linku widocznie time jest stampowany na koniec, czyli kazde wywolanie funkcji time() niejako rozpoczyna nowy watek... Tyle ze nie widze w php.ini opcji sterujaca takim zachowaniem parsera. Jednak sami przyznacie ze takie podejscie jest logiczne i nie ma nic wspolnego z tym ze niby php wykonuje caly skrypt robi z tego pliczek tesktowy i wysyla to dopiero w calosci do klienta. Bo to nie prawda!!! Przeciez tyle sie mowi o dazeniu PHP do objektowosci, z Waszym podejsciem to ss to raczej nigdy PHP nie dogoni ASP...
Re: [php] jak mierzyc dlugosc wykonywanai skrypu?
: sob gru 06, 2003 9:05 pm
autor: ex
zeby obliczyc caly czas od zaczecia generowania kodu az po pokazanie sie na ekranie twojego monitora nie wystarczy sam php, bo on moze jedynie pokazac czas generowania kodu (zalezna od mozliwosci obliczeniowych serwera), a do tego trzeba dodac jeszcze czas przesylania kodu do przegladarki (liczy sie przepustowosc lacza), plus jeszcze czas wygenerowania strony w przegladarce (np. java script, css itp)...