Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak zmierzyc czas wykonania skryptu
Forum PHP.pl > Forum > Przedszkole
blizniak
witam
  1. <?php
  2. if($kod!=NULL)
  3.  {
  4. $wynik = mysql_query("DELETE FROM logowanie WHERE data<DATE_SUB(NOW(),INTERVAL 2 DAY) and status=1");
  5.  
  6. $wynik = mysql_query("UPDATE logowanie SET status= 5 WHERE kod='$kod' and status=1"); 
  7.  
  8. echo "<span class=napis_dokonczenie_rejestracji>";
  9. echo "<br><br><CENTER>Dziekujemy. Rejestracja zostala zakonczona poprawnie.</CENTER>";
  10. echo "</span>";
  11. //echo "<A HREF=logowanie.php > Logowanie </A>";
  12.  }
  13.  
  14. else
  15.  {
  16. echo "<span class=bledy>";
  17. echo "<br><CENTER>Rejestracja nie moze zostac dokonczona - sprawdz czy link jest poprawny!</CENTER>";
  18. echo "</span>";
  19.  }
  20. ?>

np taki skrypt, jaka funkcja mozna zmierzyc jak dlugo to sie wykonuje
Mazur_pl
Na przykład tak:
  1. <? $start=microtime(); ?>

Oraz na końcu pliku:
  1. <? $end=microtime()-$start; echo 'Strona wygenerowana w : '.$end.' sekund(y) !'; ?>
blizniak
  1.  ob_start();
  2. include_once("funkcje.php");
  3.  
  4. $start=microtime();
  5.  
  6. for( $i=0;$i<20000;$i++ )
  7. {
  8. lacz_bd();
  9. $data_nazwa_zdjecia=date('mdGis');
  10. $kod_zdjecie1 = rand();
  11. $kod_zdjecie2 = "oidjhavfoi8dhajhedjwfhj[erj ewte9yt9 ye98ytt9t945t75ut3 yt9y4whg9eu09gw yre
    ghre[9g 9[rt"
    ;
  12. $kod=$data_nazwa_zdjecia.$kod_zdjecie1.$kod_zdjecie2;
  13.  
  14. $zapytanie=mysql_query("INSERT INTO noname SET nazwa='$kod'"); 
  15.  
  16.  
  17. }
  18. $end=microtime()-$start; echo 'Strona wygenerowana w : '.$end.' sekund(y) !';
  19. ?>


co tu jest zle bo pokazuje ze czas wykonania skrypty jest Strona wygenerowana w : 0.095172 sekund(y) !
a skrypt ten wykonuje sie cos ok 10 sek i czasem pokazuje tez wynik ujemny np Strona wygenerowana w : -0.095172 sekund(y) !
www0_0
  1. <? $start=microtime();
  2.  ob_start();
  3. include_once("funkcje.php");
  4.  
  5.  
  6.  
  7. for( $i=0;$i<20000;$i++ )
  8. {
  9. lacz_bd();
  10. $data_nazwa_zdjecia=date('mdGis');
  11. $kod_zdjecie1 = rand();
  12. $kod_zdjecie2 = "oidjhavfoi8dhajhedjwfhj[erj ewte9yt9 ye98ytt9t945t75ut3 yt9y4whg9eu09gw yre
    ghre[9g 9[rt"
    ;
  13. $kod=$data_nazwa_zdjecia.$kod_zdjecie1.$kod_zdjecie2;
  14.  
  15. $zapytanie=mysql_query("INSERT INTO noname SET nazwa='$kod'"); 
  16.  
  17.  
  18. }
  19. $end=microtime()-$start; 
  20. echo 'Strona wygenerowana w : ' .$end. ' sekund(y) !';
  21. ?>


To że 10 sekund trwa odświeżenie strony nie znaczy że tyle wykonuje się skrypt. Być może postawiłeś to na wolnym serwerze.
blizniak
mam apache z krasnala na swoim kompie to raczej nie wydaje mi sie zeby byl wolny ?
Kicok
To powinno rozwiać twoje wątpliwości, dlaczego zwykłe odejmowanie zwraca dziwne wyniki.
  1. <?php
  2.  
  3.  
  4. ?>



Jeśli masz PHP5, to używaj microtime(true), jeśli starszą wersję, to:
  1. <?php
  2.  
  3. function getMicrotime()
  4. {
  5. return( array_sum( explode( ' ', microtime() ) ) );
  6. }
  7.  
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.