Mailinglisten-Archive |
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 Das Skript: ------------------------------------------------------------------------------------------------------------------------------------------------------ <?php echo time(); ob_start(); $q = "SELECT SQL_CALC_FOUND_ROWS contacts.*, address_book.* FROM contacts, address_book WHERE contacts.address_book_id = address_book.address_book_id AND contacts.groups_id = 1 ORDER BY contacts.contacts_name ASC LIMIT 0, 3071"; $res = mysql_query($q); ?> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <?php while($contacts_row=mysql_fetch_array($res)) { ?> <tr> <td valign="top"><?php echo $contacts_row['entry_street_address']; ?><br /> <?php echo $contacts_row['entry_postcode']; ?> <?php echo $contacts_row['entry_city']; ?><br /> Tel.: <?php echo $contacts_row['contacts_telephone']; ?><br /> Fax: <?php echo $contacts_row['contacts_fax']; ?><br /> </td> </tr> <?php } ob_flush(); ?> </table> <?php echo "<hr>" . $q . "<hr>" . time() . "s"; ?>
php::bar PHP Wiki - Listenarchive