Ladezeit einer externen Seite messen PHP 

Status
Für weitere Antworten geschlossen.

Yoda2003

Registered +
Registriert
Mai 2005
Beiträge
980
Hallo Leutz,

es geht um eine externe Internetseite (also nicht auf meinem Server). Diese ist je nach Tageszeit und Wochentag mehr oder weniger stark besucht, teilweise sogar überlastet.

Jetzt wollte ich ein Skript programmieren, welches einem anzeigt ob die Seite gerade überlasstet ist. Jetzt brauch ich nur ne Idee, wie ich das machen soll ;)

Reicht es einfach einen Ping-Test zu machen, also ist der Ping für eine grobe Websiteauslastung geeignet?

Oder kann man evtl. tatsächlich die Ladezeit einer Webseite messen?

Am Programmieren sollte es eigentlich nicht scheitern, wenn ich nur n Denkanstoß bekommen könnte.

mfg
Yoda2003

edit: Problem noch mal n bissl verständlichen beschrieben
 
Zuletzt bearbeitet von einem Moderator:
interessante fragestellung :)
ja so was ist möglich. hier 2 beispiele:
WebWait - Benchmark Your Website
Pingdom Tools

ich hab mir dazu folgendes überlegt:
man nimmt die zeit, am anfang, dann bindet man die seite ein, und dann nimmt man die zeit am ende und gibt die differenz aus:
PHP:
$timestamp1 = time();
include ('http://freesoft-board.to/index.php');
$timestamp2 = time();
echo 'ladezeit:'.($timestamp2-$timestamp1);
?>
leider konnte ich es nicht testen...
Code:
Warning: include() [function.include]: URL file-access is disabled in the server configuration in C:\xampp\htdocs\index.php on line 3
ein ähnlichen script habe ich hier gefunden:
Ladezeit der Seite messen, php script, Schnipsel
der berechnet die ladezeit der eigenen seite. könnte ja sein, dass man den großen mittelteil ja durch include ersetzen kann und das genauso funktioniert.

@ping
meiner ansicht nach, reicht ein ping nicht aus, da er so weit ich weiß die erreichbarkeit eines servers testet. ein ping ist ja eine sehr simple anfrage an den server, daher müsste er das, bei egal welcher auslastung einigermaßen schnell beantworten können. auf jeden fall, ist die verzögerung nicht so groß, wie wenn man die seite mit dem browser aufruft
 
corema schrieb:
man nimmt die zeit, am anfang, dann bindet man die seite ein, und dann nimmt man die zeit am ende und gibt die differenz aus:
So hab ich das mal gemacht, klappte sehr gut. Aber ich weiss nicht ob das für die o.g. Anwendung wirklich geeignet ist.. Schließlich müsste man die Ladezeit dann ja nochmal an den Server zurückschicken, der die Seite bei Überlastung dann sperrt? Ob das auch noch funktioniert, wenn die Seite überlastet ist?
 
Erst mal vielen Dank für den Tipp. Werde die Mal versuchen.
Gesperrt wird da höchstens ganz selten, meist läd der Browser ich einfach dumm und dämlich. Werd mal n bissl rumpruckeln.

Aber dann auch noch mal ne Frage, der Server gehört mir ja nicht, hab ja nur Webspace dort. Was ist, wenn die Seite wirklich Minuten brauchen sollte, geladen zu werden, ich aber nicht so lange waren will. Kann ich das Skript auch z.B. nach 20 s oder so abbrechen lassen? Wie gesagt, hab da nur Space, müsste also auf php-Basis gehen.

mfg
Yoda2003
 
Benutze am besten den Timeout über PHP: stream_set_timeout - Manual

Gruß
Broken Sword

P.S.
Nicht include/require, sondern eher fsockopen/file_get_contents
 
Zuletzt bearbeitet von einem Moderator:
corema schrieb:
PHP:
$timestamp1 = time();
include ('http://freesoft-board.to/index.php');
$timestamp2 = time();
echo 'ladezeit:'.($timestamp2-$timestamp1);
?>
Ich würde eher die Funktion microtime() verwenden, das time() nur Sekunden anzeigt, aber z.b. Freesoft Board aktuell "0,08009 Sekunden" braucht. Daher wäre time() sinnlos.
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Antworten
2
Aufrufe
11K
BloodVortex
B
Zurück
Oben Unten