Jak zrobić żeby mieć info o :
Czas ładowania strony i ilość zapytań
Jak zrobić żeby mieć info o :
Czas ładowania strony i ilość zapytań
Czas ładowania:
Odpalasz na samym początku microtime w jakieś tam zmiennej i to samo robisz na samym końcu i pierwszą odejmujesz od drugiej przez co masz wynik w milisekundach.
Ilość zapytań:
Każde zapytanie by musiały lecieć przez jakąś funkcję/klasę która by jednocześnie je zliczała, ew ręcznie to robić przy każdym zapytaniu w skrypcie ale to czasochłonne...
Sio, nie pomagam via PM !
Mam coś takiego
Początek
KoniecKod:function gen_www() { $time = explode(" ", microtime()); $usec = (double)$time[0]; $sec = (double)$time[1]; return $sec + $usec; } $start = gen_www();
W pliku który zawsze się uruchamia ale wychodzi mnie :Kod:$end = gen_www(); $run = $end - $start; echo "<font color=grey size=1>Strona wygenerowana w " . substr($run, 0, 5) . " sek.</font>";
Strona wygenerowana w 1.907 sek.
Nie wiem czy to dobrze działa
pytasz o czas czy funkcje
http://pl2.php.net/microtime
Szukaj chłopie, szukaj!
http://www.mmocenter.pl/f22-php-mysq...ytaa-4588.html
A co do czasu ładowania:
Na początku strony (na samej górze) dajesz
i na samym dole (przed wyświetleniem czasu) dajeszKod php:
$czas_start = microtime();
Użycie proste:Kod php:
$czas_stop = microtime();
echo "Czas ładowania strony to ".$czas_stop - $czas_start;
Wynik oczywiście bez zaokraglenia.Kod php:
$czas_start = microtime();
Jakaś treść strony
bla bla bla
$czas_stop = microtime();
echo "Czas ładowania strony to ".$czas_stop - $czas_start;
Zaokrąglisz funkcją round().
Ostatnio edytowane przez Imperator_Edi ; 08-06-2009 o 19:21
Notatnik nie jest przeznaczony do programowania!
Jak sama nazwa wskazuje, jest on do trzymania notatek.
Dobra dodałem to do funkcji doquery
jest ona wywoływana przy każdym zapytaniu itp
ale nic nie pokazuje zrobiłem tak :
Funkcja
Kod php:
<?
function doquery($query, $table, $fetch = false){
global $numqueries,$link,$debug,$ugamela_root_path$,$zapytan;
require($ugamela_root_path.'config.php');
if(!$link)
{$link = mysql_connect($dbsettings["server"], $dbsettings["user"],
$dbsettings["pass"]) or
$debug->error(mysql_error()."<br />$query","SQL Error");
odbc_select_db($dbsettings["name"]) or $debug->error(mysql_error()."<br />$query","SQL Error");}
$sql = str_replace("{{table}}", $dbsettings["prefix"].$table, $query);
$sqlquery = mysql_query($sql) or
$debug->error(mysql_error()."<br />$sql<br />","SQL Error");
unset($dbsettings);
$numqueries++;
$zapytan++;
$arr = debug_backtrace();
$file = end(explode('/',$arr[1]['file']));
$line = $arr[1]['line'];
$debug->add("<tr><th>Query $numqueries: </th><th>$query</th><th>$file($line)</th><th>$table</th><th>$fetch</th></tr>");
if($fetch)
{$sqlrow = mysql_fetch_array($sqlquery);
return $sqlrow;
}else{return $sqlquery;}}
?>
A to gdzie to dałem
Co robie ??le?Kod php:
function ShowTopNavigationBar ( $CurrentUser, $CurrentPlanet ) {
global $lang, $_GET, $game_config,$zapytan;
function gen_www()
{
$time = explode(" ", microtime());
$usec = (double)$time[0];
$sec = (double)$time[1];
return $sec + $usec;
}
$start = gen_www();
$end = gen_www();
$run = $end - $start;
echo "<font color=grey size=1>Strona wygenerowana w " . substr($run, 0, 5) . " sek. Ilosc zapytan :". $zapytan."</font>";
pewnie to $ugamela_root_path$,$zapytan;
i chyba $numqueries służy do tego
Dobra poradziłem sobier
Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)
Zakładki