WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Kontrollera Hastigheten För Processer (https://www.wn.se/forum/showthread.php?t=133)

Filip 2003-05-18 14:53

Hur kontrollerar man tiden det tar för en MySQL fråga att utföras?
På MySQL.com står där ibland jämförelser hur lång tid det tar att utföra olika queries. Men hur får just den tiden? Finns det inbyggt i MySQL? Eller måste man göra på följande sätt:

$tid1 = time();
mysql_query(SELECT * FROM tabell1 WHERE 1);
print time() - $tid1;

Är det en bra metod att mäta tiden för en MySQL query att utföras? Är det även den bästa metoden att mäta tiden för en php-sida (eller någon annan sida) att laddas? Hur får man isåfall fram hundradelssekunder av tiden?

orreborre 2003-05-18 15:18

För att mäta hur långt tid något tar att ladda använder jag själv detta:
Kod:

function utime (){
$time = explode( " ", microtime());
$usec = (double)$time[0];
$sec = (double)$time[1];
return $sec + $usec;
}
$start = utime();

//Här sätter du allting du vill mäta, en hel sida, eller bara någon query.

$end = utime(); $run = $end - $start; echo "Sidan laddades på " . substr($run, 0, 7) . " sekunder.";

Om det finns något inbyggt i MySQL vet jag inte...

Tobbe 2003-05-18 20:36

Jag brukar göra så här, något åt orreborres håll:

<?php
function fromMilliToSeconds($time_start, $time_slut) {
$t1 = explode(' ', $time_start);
$t2 = explode(' ', $time_slut);
$sec = $t2[1] - $t1[1];
$msec = $t2[0] - $t1[0];
$tid = round(($sec + $msec), 3);
return $tid;
}

$time_start = microtime();
// räkna vad-ni-vill
$time_slut = microtime();
$tid = fromMilliToSeconds($time_start, $time_slut);
echo $tid;
?>

Mvh, Tobias


Alla tider är GMT +2. Klockan är nu 05:39.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson