Mailinglisten-Archive |
Lutz Zetzsche wrote: > Hi Michael, > > Michael Borchers schrieb: >> Ich habe mal auf die Schnelle eines unserer Skripte komprimiert, siehe >> unten. >> Eigentlich nichts Spektakuläres. Eine Query mit über 3000 Datensätzen wird >> mit while und mysql_fetch_array durch ein "HTML Template" gejagt. >> Die Query dauert laut MySQL 0,22 Sekunden, >> ohne den ganzen HTML Schnickschnack und z.B. nur mit Ausgabe eines >> einzelnen >> Feldes aus dem Result, braucht auch der Browser nicht einmal eine Sekunde. >> >> Aber so wie unten mit dem HTML, braucht "mein Browser", also Server >> während >> des Parsens, 6 Sekunden und mehr. >> >> Ist das eine normale Durchschnittszeit? Das kann dich nicht sein?! Die CPU >> Belastung beträgt bis zu mehr als 30% und dauert lange an, und das nur bei >> einem Skript! >> Bei zweien ist der Server auf seinen Knien. >> >> Da stimmt doch was nicht?! >> Könnte ein Update von php4 auf 5 etwas bringen?! >> >> Apache/2.0.50 PHP/4.3.10 >> So ganz klar ist es mir nicht... Aber spiel doch einfach mal mit dem script rum... Test 1: mysql_query(...); ... $start =microtime(true); while($contacts_row=mysql_fetch_array($res)) ; print('fetch_array dauerte '.(microtime(true)-$start).' Sekunden'); Test 2: $start =microtime(true); while($contacts_row=mysql_fetch_row($res)) ; print('fetch_row dauerte '.(microtime(true)-$start).' Sekunden'); Test 3: $start =microtime(true); while($contacts_row=mysql_fetch_array($res)) print("<tr><td>$contacts_row['..']<br />$con...<br />...</td></tr>"); print('fetch_array mit print dauerte '.(microtime(true)-$start).' Sekunden'); usw. usw... Einfach nur mal um festzustellen, was da so lange dauert... Achja... ich weiss nicht, ob es microtime(true) schon in php4 gab... Musst ggf. dir da eine Funktion für zusammenbasteln... > Viele Grüße > Lutz Yannik
php::bar PHP Wiki - Listenarchive