Se connecter avec
S'enregistrer | Connectez-vous

Calcul du temps d'affichage d'une page.

Dernière réponse : dans Programmation

Bonsoir.

Y'a-t-il un moyen de calculer fidèlement la durée de l'affichage d'une page.
Je m'explique, j'ai fait un petit forum en PHP, bon, il roule bien, ça va (remarquez, avec 2 utilisateurs max en même temps, c'est dur de tester. lol), enfin bref, j'ai essayé d'apprendre les Index dans MySQL, je crois avoir plus ou moins compris, alors en local, chez moi, j'ai fait une petite routine facile :
  1. En début de page :
  2. $microstart=getmicrostart();
  3.  
  4. Et en fin de page :
  5. $fin_compte=getmicrotime();
  6. $duree=($fin_compte-$microstart);
  7. echo 'Page générée en '.substr($duree,0,5).' sec.';?>


Mon problème, c'est que quelquesoit la page que j'affiche, si je fais F5 plusieurs fois, le temps n'est jamais le même, pourtant, ce n'est pas à cause de la bande passante, vu qu'en local, elle doit être optimum.
La conclusion de mon problème : J'affiche mon ancienne page, j'affiche une nouvelle page identique (niveau recherche SQL, etc) mais optimisé, tantot la nouvelle va plus vite, tantot la nouvelle va plus lentement. ce n'est pas très évident à gérer.

Voilà, si vous aviez une astuce pour calculer une durée plus fiable, surtout au niveau que peut prendre une requête SQL, je suis partant.
Merci de votre patience si vous avez tout lu.


Autres pages sur : calcul temps affichage page

Lassé par la pub ? Créez un compte

Hé oui c'est normal parce que c'est le processeur qui calcule la page à envoyer et cette page est sur ton disque dur. Si la tête de lecture du disque est super loin de l'emplacement de ton fichier, sa va lui prendre plus de temps de traitement. Même chose si le CPU est un peu plus occupé pendant ce temps.

Il n'y a pas juste le code qui fait varier le temps d'éxécution !

en plus appache et mysql ont des systeme de cache integrés.. (appache -> le parse du php et mysql les requetes)

du coup la premiere fois sera plus lente que la deuxieme.. vu qu'il met le resultat du premier en cache..


PS: qu'on m'arrete si je dit de sconneries hein.. parce que c'est pas fondé! :o 

Echo-Cedric a écrit
Si tu lis mon premier post, c'est exactement ce que j'ai fais, mais ça ne me convient pas comme méthode.



il n'y a pas de meilleur solution, tu veux quoi de plus?! :??: 

et pour les fluctuations, Thrips l'explique tres bien :

ThripS a écritHé oui c'est normal parce que c'est le processeur qui calcule la page à envoyer et cette page est sur ton disque dur. Si la tête de lecture du disque est super loin de l'emplacement de ton fichier, sa va lui prendre plus de temps de traitement. Même chose si le CPU est un peu plus occupé pendant ce temps.

Il n'y a pas juste le code qui fait varier le temps d'éxécution !

Pour vérifier une amélioration à ton code, il faut qu'elle soit énorme cette amélioration pour voir vraiment une différence.

Mais pour tester une petite amélioration, je ne sais pas vraiment comment m'y prendre non plus.

ThripS a écritPour vérifier une amélioration à ton code, il faut qu'elle soit énorme cette amélioration pour voir vraiment une différence.



ben heu.. fait des requetes mysql sans indexage..
regarde le temps..

hop, fait ton indexage qui va bien.. et je t'assure que tu vois la difference.. c'est hallucinant.. :) 

Mr yvele a écritben heu.. fait des requetes mysql sans indexage..
regarde le temps..

hop, fait ton indexage qui va bien.. et je t'assure que tu vois la difference.. c'est hallucinant.. :) 


Même si il regarde sa en local ? S'il le placerait sur Internet il verrait peut-être une plus grande différence.

Mr yvele a écrit
hop, fait ton indexage qui va bien.. et je t'assure que tu vois la difference.. c'est hallucinant.. :) 

J'ai essayé en ligne, sur mon forum, mais vu le peu de monde dessus, forcément, je ne vois pas beaucoup de différence.
Moi mon but, ce serait plutot de calculer le temps gagner, par exemple en remplaçant les quotes " par des ', une fois, c'est imperceptible, mais sur 20 pages de topics, j'aimerais pouvoir le voir.

c'est simple si tu veut essayer pour voir sur de nombreuses page tu peut faire sa en local :

En début de page :
$microstart=getmicrostart();

et au milieu tu met le code avec une boucle for qui boucle ton code 20, 100... fois et la tu verra les résultats seront plus réguliers pour une meme page et tu pourra mieu comparer :) 

Et en fin de page :
$fin_compte=getmicrotime();
$duree=($fin_compte-$microstart);
echo 'Page générée en '.substr($duree,0,5).' sec.';?>

(j'ai repris ton code de ton premier post)

ThripS a écrit

Même si il regarde sa en local ? S'il le placerait sur Internet il verrait peut-être une plus grande différence.


Non. Renseignes toi sur les index d'une base de données et tu comprendras pourquoi ca ne fait aucune différence que ce soit en local ou a petaouchnok

Echo-Cedric a écrit
J'ai essayé en ligne, sur mon forum, mais vu le peu de monde dessus, forcément, je ne vois pas beaucoup de différence.
Moi mon but, ce serait plutot de calculer le temps gagner, par exemple en remplaçant les quotes " par des ', une fois, c'est imperceptible, mais sur 20 pages de topics, j'aimerais pouvoir le voir.



sur 20 pages de topics, tu verras pas la difference entre ' et "..
il te faut au moins des boucles de 10000 pour capter une difference.. :) 


regarde un peu ici pour les optimisations :
http://www.estvideo.com/dew/pages/phpbench/

:hello: 
Lassé par la pub ? Créez un compte