Version complète: sur le forum Webmaster Hub : Temps d'execution
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
yankey
Bonjour,
Est-ce qu'il existerai des outils permettant de tester le temps d'execution d'une page, ou d'un script ?
J'ai apparemment une application qui nécéssite beaucoup de ressources, je n'arrive pas à détecter d'où cela peut venir et comment je pourrai améliorer.
Merci smile.gif
Leonick
pour le visiteur, il y a cet outil http://www.websiteoptimization.com/services/analyze/
sinon, à l'intérieur du script, il faut utiliser la fonction microtime()
yankey
Merci, oui, apparemment je ne trouve aucun autre moyen...
NorSeb
Bonjour,

La fonction time() renvoi le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970.

En début de script tu valorise une variable avec la fonction puis tu fait de même en fin de script. Ensuite tu fais la différence et tu as le nombre de secondes qu'a duré ton script wink.gif

Si tu veux plus de précision, tu peux utiliser microtime()

CODE
$debut = time();

/* SCRIPT */

$fin = time();

$duree = $fin - $debut;
Jeromnimo
Bonjour,
si tu veux faire du debug en profondeur, tu peux également utiliser l'extension php xdebug (si tu as acces a PEAR)
Elle te peremttra de debugguer en détail ton appli ;-)
dpmix
Salut !

Voilà un petit bout de code que j'ai réalisé dernièrement pour tester
le temps écoulé dans mon script entre plusieurs lignes de code.

Voici la procédure...

Au début de ton script ajoute cette fonction :

CODE
$temp = 0;
function Temp() {
    global $temp;
    list($mil,$sec) = explode(" ",microtime());
    if ($temp) {
        $temp = ($sec + $mil) - $temp;
        echo "<center>Temps d'éxécution : $temp</center>";
    }
    $temp = $sec + $mil;
}


Ensuite, englobe ta portion de code à tester comme ceci :

CODE
Temp();

// ici ton code a tester
// sur plusieurs lignes bien sûr si nécessaire

Temp();


Tu peux même calculer plusieurs intervales ainsi :

CODE
Temp();

// Première portion à tester

Temp();

// Deuxième portion à tester

Temp();

// Troisième portion à tester etc...

Temp();


Voilà j'espère que ça suffira wink.gif

@+!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.