jpwfour
01.06.2008, 16:06
Voraussetzungen: PHP > 4
Datei: index.php
nach <? folgende Zeilen einfügen:
$start_time = microtime(true);
$sql_time = 0;Datei: lib/functions.lib.php
Die Funktion db_query($sql_tag) mit folgender ersetzen:
// Mysql Querys
function db_query($sql_tag){
global $count_query,$sql_time;
$sql_start = microtime(true);
$count_query++;
$vargs = array();
$fargs = func_get_args();
foreach($fargs as $key => $arg){
$vargs[$key] = mysql_real_escape_string($arg);
}
array_shift($vargs);
if(!empty($vargs)){
$sql_tag = vsprintf($sql_tag,$vargs);
}
if($ret = mysql_query($sql_tag)){
$sql_time += microtime(true) - $sql_start;
return $ret;
}else{
$sql_time += microtime(true) - $sql_start;
return 0;
}
}Datei: lib/footer.php
suche:
<?=$count_query;?> MySQL Abfragen
<!-- Fussnote -->ersetze mit:
<?php
$ende_time = microtime(true);
$ges_time = $ende_time - $start_time;
$php_time = $ges_time - $sql_time;
?>
<?=$count_query;?> MySQL Abfragen | PHP: <?=number_format($php_time,4,',','.');?> s | SQL: <?=number_format($sql_time,4,',','.');?> s
<!-- Fussnote -->--
In PHP4 muss man die Funktion microtime(true) umschreiben:
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}dass ganz am anfang in der index.php einfügen und dann alle aufrufe von microtime(true) durch microtime_float() ersetzen.
Datei: index.php
nach <? folgende Zeilen einfügen:
$start_time = microtime(true);
$sql_time = 0;Datei: lib/functions.lib.php
Die Funktion db_query($sql_tag) mit folgender ersetzen:
// Mysql Querys
function db_query($sql_tag){
global $count_query,$sql_time;
$sql_start = microtime(true);
$count_query++;
$vargs = array();
$fargs = func_get_args();
foreach($fargs as $key => $arg){
$vargs[$key] = mysql_real_escape_string($arg);
}
array_shift($vargs);
if(!empty($vargs)){
$sql_tag = vsprintf($sql_tag,$vargs);
}
if($ret = mysql_query($sql_tag)){
$sql_time += microtime(true) - $sql_start;
return $ret;
}else{
$sql_time += microtime(true) - $sql_start;
return 0;
}
}Datei: lib/footer.php
suche:
<?=$count_query;?> MySQL Abfragen
<!-- Fussnote -->ersetze mit:
<?php
$ende_time = microtime(true);
$ges_time = $ende_time - $start_time;
$php_time = $ges_time - $sql_time;
?>
<?=$count_query;?> MySQL Abfragen | PHP: <?=number_format($php_time,4,',','.');?> s | SQL: <?=number_format($sql_time,4,',','.');?> s
<!-- Fussnote -->--
In PHP4 muss man die Funktion microtime(true) umschreiben:
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}dass ganz am anfang in der index.php einfügen und dann alle aufrufe von microtime(true) durch microtime_float() ersetzen.