Tutorials

Seitenaufbau einer Seite messen Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
Seitenaufbau einer Seite messen
Wie lange benötigt der Webserver um eine Seite aufzubauen.

3727 - ntmb - 02.08.2005 14:16 Uhr - Version: 2 - - verlinken als BB-Code


Dies eine vollständig überarbeite Version des Tutorials, da die vorherige Version fehlerhaft war.

Die Messung der Seite habe ich mit einer Klasse mit statischen Funktion realisiert.
Dies hört sich vielleicht ein bisschen verwirrend an, ist es aber gar nicht.

Nehmen wir nun mal unsere Klasse:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
// Class for analyse the time of building page
class TimeAnalyzer{
    
    public static function 
setTimer(){
        return 
microtime(get_as_float);
    }

    public static function 
getTimer($time_end){
    echo 
'
        <!-- '
.round(TimeAnalyzer::setTimer() - $time_end,6).' -->
'
;
    }

}

?>


Prinzip

Das Messen kann man sich vorstellen, wie das Uhren stoppen. Man schreibt die Zeit auf wann die Messung beginnt und wann die Messung endet. Anschließend nimmt man davon die Differenz und so hat man als Ergebnis die genaue Dauer.

Aufbau

Die zwei statischen Methoden in der Klasse machen nichts anderes. Die Methode setTimer() gibt den genauen Zeitpunkt in Millisekunden wieder.
Die andere Methode getTimer() erwartet einen Zeitpunkt als Übergabewert.
Innerhalb der Methode erfolgt eine Rechnung. Es wird wiederum das aktuelle Datum abgeholt (neuerer Zeitpunkt- größer) und mit dem Übergabewert (früher Zeitpunkt - kleiner) verrechnet.
Das anschließende Ergebnis wird auf 6 Nachkommastellen gerundet, was auch vollkommen ausreichend ist.
Das Ergebnis wird dann als HTML-Kommentar geschrieben, so sieht man dies nur im Quelltext der Seite.

Umsetzung

Kommen wir nun zur Anwendung. Die Klasse muss eingebunden werden, und es muss die Zeit gespeichert/gemerkt werden. Dieser Codeabschnitt sollte soweit wie möglich oben in deinem Code eingebaut werden, da die Messung so genauer ist.
1
2
3
4
<?
include $linkscript.'../mainclasses/TimeAnalyzer.php';
$timeAnalyzer TimeAnalyzer::setTimer();
?>


Dieser Codeabschnitt liefert das das Ergebnis und sollte soweit wie möglicht unten in deinem Code eingebaut werden. Es wäre am Besten, wenn du dies direkt vor </body> machen würdest.
1
2
3
<? 
TimeAnalyzer
::getTimer($timeAnalyzer); 
?>


Ich wünsche euch viel Spaß mit dem Script und hoffe nun, dass es in dieser Hinsicht keine Probleme gibt.

Mitglieder-Kommentare


#6 von ntmb
Das Tut ist nun wirklich richtig. Smily NR:7
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#5 von ntmb
Ja misst hab das was falsch gemacht. Smily NR:5
hab es jetzt geändert. Smily NR:8
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#4 von loona
ok geht aber die zeit is irgendwie a weng lange obwohl es mit stop uhr nie auf die zeit komm^^
#3 von loona
was heißt am anfang? vor den <body> oder vor <html>?
#2 von loona
was heißt am anfang? vor den <body> oder vor <html>?
#1 von B4ckflip
cool ich glaub das mach ich demnächst mal!

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)