zeit ermitteln für die dauer des aufbaus einer seite
zeit ermitteln für die dauer des aufbaus einer seite
am 29.06.2006 13:53:37 von yonthebeach
hi,
mir ist aufgefallen das in verschiedenen blogs im footer folgendes
angezeigt wird:
diese seite wurde in 0.7s aufgerufen
wie kann ich das mit php ermitteln?
gruß
yavuz
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 29.06.2006 14:11:27 von Frank Schenk
yonthebeach@googlemail.com wrote:
> hi,
>
> mir ist aufgefallen das in verschiedenen blogs im footer folgendes
> angezeigt wird:
>
> diese seite wurde in 0.7s aufgerufen
>
> wie kann ich das mit php ermitteln?
Siehe Handbuch zu microtime(), der Rest sind Mathematikgrundlagen.
gruß, Frank
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 29.06.2006 14:16:30 von Timon Rapp
"yonthebeach@googlemail.com" schrieb:
>hi,
>
>mir ist aufgefallen das in verschiedenen blogs im footer folgendes
>angezeigt wird:
>
>diese seite wurde in 0.7s aufgerufen
>
>wie kann ich das mit php ermitteln?
>
>gruß
>yavuz
Einfach am Anfang mit microtime() die Zeit nehmen, am Ende nochmal und
dann von einander anziehen.
Fertig ist die Aufbauzeit.
--
MfG. Timon R.
ICQ: 290982206
Webdesign & CM-Systeme: http://zaeda.net
Dein Wegweiser durchs Netz: http://zoomtheweb.de
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 29.06.2006 14:23:29 von Timon Rapp
"yonthebeach@googlemail.com" schrieb:
>hi,
>
>mir ist aufgefallen das in verschiedenen blogs im footer folgendes
>angezeigt wird:
>
>diese seite wurde in 0.7s aufgerufen
>
>wie kann ich das mit php ermitteln?
>
>gruß
>yavuz
Einfach am Anfang mit microtime() die Zeit nehmen, am Ende nochmal und
dann von einander anziehen.
Fertig ist die Aufbauzeit.
--
MfG. Timon R.
ICQ: 290982206
Webdesign & CM-Systeme: http://zaeda.net
Dein Wegweiser durchs Netz: http://zoomtheweb.de
--
MfG. Timon R.
ICQ: 290982206
Webdesign & CM-Systeme: http://zaeda.net
Dein Wegweiser durchs Netz: http://zoomtheweb.de
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 03:57:12 von Johannes Vogel
Hi Unbekannte(r)
yonthebeach@googlemail.com wrote:
^-- googlemail hat's wohl nicht drauf mit NG-Postings?
> mir ist aufgefallen das in verschiedenen blogs im footer folgendes
> angezeigt wird:
> diese seite wurde in 0.7s aufgerufen
> wie kann ich das mit php ermitteln?
microtime(true) ist die gefragte Funktion inkl. korrektem Parameter.
Diese Erweiterung in PHP 5.0.0 erleichtert die Arbeit zur Zeitmessung
ungemein.
Aber kannst du mir erklären, weshalb diese Funktion für den Nutzer
relevant sein soll? Mich interessiert diese Angabe erst, wenn ich so
lange nicht warten möchte. Und dann ist's eh zu spät und ich werde die
Ausgabe nie erkennen.
Für's debugging jedoch ist in jedem Fall interessant! Man möchte ja
wissen, wo man seine Ressourcen verbratet. :-)
HTH, Johannes
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 10:34:39 von thornythegod
Johannes Vogel schrieb:
[microtime]
> Für's debugging jedoch ist in jedem Fall interessant! Man möchte ja
> wissen, wo man seine Ressourcen verbratet. :-)
Für das Profiling gibt es aber bessere Methoden, wie z.b.:
http://www.php.net/apd
Hat man das nicht zur Verfügung, kann man sich auch über
register_tick_function ein Profiling bauen und muß so nicht, wie mit
microtime, den funktionierenden Code manipulieren.
Gruß,
Torsten
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 12:46:35 von Frank Schenk
Torsten Zühlsdorff wrote:
>>Für's debugging jedoch ist in jedem Fall interessant! Man möchte ja
>>wissen, wo man seine Ressourcen verbratet. :-)
>
>
> Für das Profiling gibt es aber bessere Methoden, wie z.b.:
> http://www.php.net/apd
Installation
APD is currently available as a PECL extension from
http://pecl.php.net/package/apd. Make sure you have installed the CGI
version of PHP and it is available in your current path along with the
phpize script.
Die Krätze kommt mir nicht ins Haus
Ganz abgesehen davon sieht es nicht so aus, als würde apd noch gepflegt:
http://pecl.php.net/package/apd
> Hat man das nicht zur Verfügung, kann man sich auch über
> register_tick_function ein Profiling bauen und muß so nicht, wie mit
> microtime, den funktionierenden Code manipulieren.
register_tick_function() should not be used with threaded webserver
modules. Ticks are not working in ZTS mode and may crash your webserver.
Also das überzeugt mich alles nicht Torsten. Einen Versuch hast du noch.
gruß, Frank
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 13:07:34 von thornythegod
Frank Schenk schrieb:
>>> Für's debugging jedoch ist in jedem Fall interessant! Man möchte ja
>>> wissen, wo man seine Ressourcen verbratet. :-)
>>
>> Für das Profiling gibt es aber bessere Methoden, wie z.b.:
>> http://www.php.net/apd
>
> Installation
>
> APD is currently available as a PECL extension from
> http://pecl.php.net/package/apd. Make sure you have installed the CGI
> version of PHP and it is available in your current path along with the
> phpize script.
>
> Die Krätze kommt mir nicht ins Haus
Niemand zwingt dich dazu. Ich habe es genau deswegen auch nicht :P
>> Hat man das nicht zur Verfügung, kann man sich auch über
>> register_tick_function ein Profiling bauen und muß so nicht, wie mit
>> microtime, den funktionierenden Code manipulieren.
>
> register_tick_function() should not be used with threaded webserver
> modules. Ticks are not working in ZTS mode and may crash your webserver.
>
> Also das überzeugt mich alles nicht Torsten. Einen Versuch hast du noch.
Das ist hinnehmbar. Man testet ja auf Testrechnern und dort hat man die
absolute Macht. Und bisher konnte ich noch keine Probleme feststellen.
Ist im übrigen auch eine gute Debugging Methode. Spart man etliche LOC
Debugging-Code, da man sich auch so einen Trace ganz nach belieben
aufzeichnen lassen kann.
Leider ist die restliche Auswahl nicht allzu groß. Ich kann dir noch
xDebug anbietet:
www.xdebug.org
Letztlich habe ich die Vorschläge nur aus einen Grund gemacht: Es ist
ein Fehler zum "profilen" im Quellcode herumzuschreiben. Man wurstelt
nicht in stabilen Code herum, um zu sehen, ob da irgendwo ein
Performance-Flaschenhals ist.
Die genannten Methoden, ermöglichen eben dieses vorgehen. Jeder weitere
Vorschlag, benötigt Codemanipulationen.
Gruß,
Torsten
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 13:40:34 von Johannes Vogel
Hi Torsten
Torsten Zühlsdorff wrote:
> Das ist hinnehmbar. Man testet ja auf Testrechnern und dort hat man die
> absolute Macht. Und bisher konnte ich noch keine Probleme feststellen.
> Ist im übrigen auch eine gute Debugging Methode. Spart man etliche LOC
> Debugging-Code, da man sich auch so einen Trace ganz nach belieben
> aufzeichnen lassen kann.
Problem: Manchmal muss man mal kurz was auf dem Produktiv-Maschine
testen, weil einfach die Umgebung nicht exakt dieselbe ist oder ne
schnelle Lösung herhalten muss. Und das bedingt dann eben kurze und
kleine Eingriffe, wofür microtime(true) für mich noch immer erste Wahl
ist. Ein tic und ein toc und schon weiss ich Bescheid! (Siehe Matlab)
> Leider ist die restliche Auswahl nicht allzu groß. Ich kann dir noch
> xDebug anbietet:
> www.xdebug.org
> Letztlich habe ich die Vorschläge nur aus einen Grund gemacht: Es ist
> ein Fehler zum "profilen" im Quellcode herumzuschreiben. Man wurstelt
> nicht in stabilen Code herum, um zu sehen, ob da irgendwo ein
> Performance-Flaschenhals ist.
Ich möchte nicht wissen, ob's unter profiling-Bedingungen sauber läuft,
sondern ob der funktionierende Code sauber läuft. Die Frage lautet: Was
möchte ich messen und was messe ich. Anders geht's per Definition nicht.
> Die genannten Methoden, ermöglichen eben dieses vorgehen. Jeder weitere
> Vorschlag, benötigt Codemanipulationen.
Die genannten Methoden sind praktisch, wenn ich herausfinden möchte, wo
was besonders langsam ist. Aber wie langsam es ist, lässt sich eben
nicht eruieren, weil noch zusätzliche Operationen ausgeführt werden müssen.
Johannes
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 14:09:20 von thornythegod
Johannes Vogel schrieb:
>>Das ist hinnehmbar. Man testet ja auf Testrechnern und dort hat man die
>>absolute Macht. Und bisher konnte ich noch keine Probleme feststellen.
>>Ist im übrigen auch eine gute Debugging Methode. Spart man etliche LOC
>>Debugging-Code, da man sich auch so einen Trace ganz nach belieben
>>aufzeichnen lassen kann.
>
> Problem: Manchmal muss man mal kurz was auf dem Produktiv-Maschine
> testen, weil einfach die Umgebung nicht exakt dieselbe ist oder ne
> schnelle Lösung herhalten muss. Und das bedingt dann eben kurze und
> kleine Eingriffe, wofür microtime(true) für mich noch immer erste Wahl
> ist. Ein tic und ein toc und schon weiss ich Bescheid! (Siehe Matlab)
So ein Vorgehen kann schnell nach hinten los gehen. Das ist typisch
"quick and dirty" und sollte nicht verteidigt werden. Natürlich ist so
ein Vorgehen "weit verbreitet" (rein subjektiv), aber was soll man dazu
sagen? Ein falsches Zeichen und du hast deine Produktiv-Umgebung
unbrauchbar gemacht und fertig. Das ist nicht mal eine Sekunde lang
duldbar ;)
>>Leider ist die restliche Auswahl nicht allzu groß. Ich kann dir noch
>>xDebug anbietet:
>>www.xdebug.org
>>Letztlich habe ich die Vorschläge nur aus einen Grund gemacht: Es ist
>>ein Fehler zum "profilen" im Quellcode herumzuschreiben. Man wurstelt
>>nicht in stabilen Code herum, um zu sehen, ob da irgendwo ein
>>Performance-Flaschenhals ist.
>
> Ich möchte nicht wissen, ob's unter profiling-Bedingungen sauber läuft,
> sondern ob der funktionierende Code sauber läuft. Die Frage lautet: Was
> möchte ich messen und was messe ich. Anders geht's per Definition nicht.
Das ist richtig. Aber beim Profiling geht es daraum, herauszufinden, was
wieviel Ressourcen verbraucht. Sei es HEAP oder einfach nur Zeit. Oder
wie häufig etwas ausgerufen wird.
Ansonsten: sauberer Code läuft für gewöhnlich auch sauber. ;)
>>Die genannten Methoden, ermöglichen eben dieses vorgehen. Jeder weitere
>>Vorschlag, benötigt Codemanipulationen.
>
> Die genannten Methoden sind praktisch, wenn ich herausfinden möchte, wo
> was besonders langsam ist. Aber wie langsam es ist, lässt sich eben
> nicht eruieren, weil noch zusätzliche Operationen ausgeführt werden müssen.
Das möchtest du näher erläutern. Du hast mit diesen Methoden eine
Auflistung der Aufrufe, des Speicherverbraues, des Zeitverbrauches und
vieles mehr. Durch das Profiling siehst du das ganze auch im Verhältnis
zur ganzen Applikation usw. Was fehlt dir?
Gruß,
Torsten
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 15:11:06 von Johannes Vogel
Hi Torsten
Grundsätzlich gibt's dazu nicht mehr viel zu sagen. :-)
Torsten Zühlsdorff wrote:
> Ansonsten: sauberer Code läuft für gewöhnlich auch sauber. ;)
:-D <-- *auslach*
Johannes
Re: zeit ermitteln für die dauer des aufbaus einer seite
am 30.06.2006 15:15:57 von thornythegod
Johannes Vogel schrieb:
> Grundsätzlich gibt's dazu nicht mehr viel zu sagen. :-)
>>Ansonsten: sauberer Code läuft für gewöhnlich auch sauber. ;)
>
> :-D <-- *auslach*
Es ist Freitag. Da darf man das :D
Gruß,
Torsten