Superlange Ladezeit....

Daniel newyouth

Angesehenes Mitglied
Hallo,

Ich habe bei www.onlyfree.de eine superlange Ladezeit. Geht einfach mal drauf, dann merkt ihr dass der Inhalt lange lädt.

Aber am Server liegt es nicht, andere Projekte die auch drauf sind laden schnell. Ich denke es liegt irgendwie an der Seite, dass ein Script oder so so lange bleibt.

Ich habe aber schon geschaut, was es sein könnte. Aber aus dem chCounter, ein paar Javascript ist nichts eingebaut. Achso, das Layout wird includet. Sollte aber kein Problem sein,
weiß jemand weiter?

Danke
 
QUOTE (onlyfree @ Di 17.5.2005, 17:09) Hallo,

Ich habe bei www.onlyfree.de eine superlange Ladezeit. Geht einfach mal drauf, dann merkt ihr dass der Inhalt lange lädt.

Aber am Server liegt es nicht, andere Projekte die auch drauf sind laden schnell. Ich denke es liegt irgendwie an der Seite, dass ein Script oder so so lange bleibt.

Ich habe aber schon geschaut, was es sein könnte. Aber aus dem chCounter, ein paar Javascript ist nichts eingebaut. Achso, das Layout wird includet. Sollte aber kein Problem sein,
weiß jemand weiter?

Danke

Hallo,


ich denke, hier kommen mehrere Faktoren zusammen, so dass es ziemlich langsam wird:

1.) Das PHP-Script scheint recht lange zu gebrauchen, ich würde im PHP-Script mal die Zeit stoppen lassen, bis die Seite vollständig generiert wurde.

2.) Dadurch das die PHP Erweiterung standardgemäß erst nach Abarbeitung des Scriptes die Ausgabe macht, hinzu kommt die große Design-Tabelle.

3.) Wohl eher unwichtig, aber das HTML ist überhaupt nicht sauber und über die JavaScripte werden Daten außerhalb der URL geladen (neue DNS Anfrage).

Also liegt es mehr oder weniger doch am Server, oder auch nur an dem was der Server ausführen soll. Auf jedenfall solltest du den ersten Punkt mal nachgehen. Entweder liegt es direkt am PHP-Script oder ab auch an möglichen Datenbank abfragen (ein weiterer Server?).


MfG Sascha Ahlers
 
Ich empfehl dir mal einen Profiler zu benutzen. PHPEdit hat sowas integriert (Gibt auch noch andere tools die das unterstüzen):

http://www.waterproof.fr/

Dann siehst du genau welcher Teil vom PHP-Code am meisten Zeit benötigt (Welche Zeilen wie oft aufgerufen werden, etc.). Mit diesem Tool konnte ich die Ladezeit von meiner Page von mehr als 1 Sekunde auf etwa 0.10 Sekunden optimieren (Und nur etwa 10 Zeilen anpassen).
 
Also das Tool nur benutzen, wenn das PHP-Script zu lange braucht um den HTML-Code zu generieren....
 
Am besten wäre es, wenn sich jemand bereit erklärt dies gegen Geld zu übernehmen. Ich kenne mich da leider nicht so aus und das Programm habe ich auch nicht hinbekommen zu installieren...
 
QUOTE (onlyfree)Mit PHP-Script meinst du wohl den chcounter?<br />oder meinst du das Script allgemein wo alles nur einfach included wird.

Nein, ich meine eigentlich das ganze Script insgesamt mit allen drum und dran, welches beim Aufrufen der einzelnen Seite auch durchlaufen werden muss. Natürlich ist es immer noch möglich, dass der Server einfach zu langsam für den gesamten Quellcode ist.



QUOTE (onlyfree @ Mi 18.5.2005, 16:58)Am besten wäre es, wenn sich jemand bereit erklärt dies gegen Geld zu übernehmen. Ich kenne mich da leider nicht so aus und das Programm habe ich auch nicht hinbekommen zu installieren...

Also anschauen kann ich mir das ganze Mal, doch dafür sofort Geld zu verlangen ist mir leicht zuwider, sollten längere Arbeiten von nöten sein, können wir vorher nochmal drüber reden.


MfG Sascha Ahlers
 
1. Der Server ist nicht der Schnellste.
Dein Ping: rtt min/avg/max/mdev = 177.436/216.380/269.682/24.873 ms
Googles: rtt min/avg/max/mdev = 84.045/84.322/84.998/0.433 ms
Madox: rtt min/avg/max/mdev = 10.321/14.706/18.035/2.494 ms
Dr. Web: rtt min/avg/max/mdev = 6.573/6.650/6.861/0.108 ms
QUOTE Thu May 19 14:39:03 CEST 2005
--14:39:03-- http://www.onlyfree.de/

[ <=> ] 26,842 1.96K/s

14:39:17 (1.96 KB/s) - `index.html.9' saved [26842]

Thu May 19 14:39:17 CEST 2005
--14:39:17-- http://www.google.com/

[ <=> ] 2,430 2.32M/s

Thu May 19 14:39:18 CEST 2005
--14:39:18-- http://www.hardstyle.net/

[ <=> ] 15,509 504.85K/s

14:39:18 (504.85 KB/s) - `index.html.11' saved [15509]

Thu May 19 14:39:18 CEST 2005

2. Dein Html ist inkorrekt. Tabellen bieten in Browser ein Schwachstelle, dergestalt, alsdass erst gerendert wird, wenn die ganze Tabelle geladen ist. In meinem Browser wird Dein Header angezeigt, und dann warte ich.... Stelle im Code:

QUOTE <td rowspan="2" background="gfx2/index_r14_c6.jpg"> </td>
<td rowspan="8" colspan="23" bgcolor="#FFFFFF"><center>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>News System</title>

3. Ich denke aber, dass es sich um einen loop oder einen bottleneck handelt, den Du irgendwo im PHP produziert hast (Der Server ist nicht der schnellst, aber ist nicht so langsam, wie obige wgets glauben lassen, vgl. wget von einem Bild ~ 1mb/s)
Hier steht, wie Du relativ einfach die Ladezeit deines PHP Scriptes misst.
 
Ok ich weißt, der HTML Code ist nen bisschen zusammengewürfelt. Der Server scheint so langsam da große Prozesse auf dem Server ablaufen wegen den Service-Scripten (Yabbserver, Cutecastserver...). Diese sind halt sehr serverlastig.

Wer Interesse hat, sich das mal anzuschauen und etvl. dann auch das zu optimieren (vielleicht dann auch den HTML Code), der sollte sich bei mir melden
smile.gif
ich schicke dann die nötigen Daten.
 
Wie ich schon im obigen Post ausgeführt habe ist m.E. vor allem Punkt 3. Recherche wert. Mit dem von mir geposteten Link solltest Du es auch alleine in kurzer Zeit schaffen.
 
Sorry damit bin ich schon überlastet. Ich bin halt kein PHP Programmierer.

QUOTE
echo "<html>[...]";

$time[] = Array('beforNav', getmicrotime());
echo $tmpl->get_nav();
$time[] = Array('afterNav', getmicrotime());
echo $tmpl->get_main();
$time[] = Array('afterMain', getmicrotime());

echo "[...]";



Wo soll ich denn jetzt den Code meiner Seite einbauen?
blink.gif
 
Wenn du es ganz einfach haben willst, dann mache folgendes:

Setze in die erste Zeile des PHP Skriptes:
CODE $time_start = getmicrotime();


Solltest am Anfang der Datei erstmal nur viel HTML stehen haben, setze lieber in die erste Zeile:
<?php $time_start = getmicrotime(); ?>

Und an das Ende des Skriptes kommt dann:

CODE $time_end = getmicrotime();
$time = $time_end - $time_start;


In $time steht dann die Laufzeit des Skriptes.

Mit

CODE echo number_format( $time , 5 );

kannst es dann zB ausgeben.
Bei Templates entsprechend anpassen.


Zum Schluss dann noch die Funktion:

CODE function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

einfügen.
 
Vielen Dank. Es liegt wohl mehr am Server, das haben Tests herausgestellt. Dieser ist zu 100% ausgelastet in Stoßzeiten, deswegen wird geupdatet.
 
Zurück
Oben