Kom ihåg mig?
Home Menu

Menu


Kontrollera Hastigheten För Processer

Ämnesverktyg Visningsalternativ
Oläst 2003-05-18, 14:53 #1
Filips avatar
Filip Filip är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2003
Inlägg: 935
Filip Filip är inte uppkopplad
Mycket flitig postare
Filips avatar
 
Reg.datum: Jan 2003
Inlägg: 935
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?
Filip är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-05-18, 15:18 #2
orreborres avatar
orreborre orreborre är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2003
Inlägg: 309
orreborre orreborre är inte uppkopplad
Flitig postare
orreborres avatar
 
Reg.datum: Apr 2003
Inlägg: 309
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...
orreborre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-05-18, 20:36 #3
Tobbe Tobbe är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2003
Inlägg: 1 566
Tobbe Tobbe är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2003
Inlägg: 1 566
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
__________________
www.cellsynt.com
Tobbe är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 02:48.

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