Calcul du temps d'affichage d'une page.

Echo-Cedric

Nouveau membre
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 :
Code:
En début de page :
$microstart=getmicrostart();

Et en fin de page :
$fin_compte=getmicrotime();
$duree=($fin_compte-$microstart);
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.


 

nicoprog

Grand Maître
c'est normal que le temps d'execution change, s'il ne changerai pas sa ne servirai a rien de le calculer :D
 

Echo-Cedric

Nouveau membre
Mais il change sur la même page, sans que je n'ai rien changé aux sources PHP, HTML ou MySQL, je fais juste F5 une fois, il m'indique 0.150 seconds, je fais F5 une deuxième fois, il me dit 0.132, une troisième fois 0.210, etc.
 

thrips

Expert
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 !
 

Mr yvele

Expert
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

Nouveau membre
Quelqu'un pourrait peut-être me dire alors quelle est la meilleur façon de calculer une optimisation ?
 

Mr yvele

Expert
hein? [:dawa]

ben tu prends le temps au début du script puis à la fin, et tu soustrais.. je vois pas ce que tu cherches de plus..
 

Echo-Cedric

Nouveau membre
[citation=4223,1][nom]Mr yvele a écrit[/nom]hein? [:dawa]

ben tu prends le temps au début du script puis à la fin, et tu soustrais.. je vois pas ce que tu cherches de plus..
[/citation]
Si tu lis mon premier post, c'est exactement ce que j'ai fais, mais ça ne me convient pas comme méthode.
 

Mr yvele

Expert
[citation=4224,1][nom]Echo-Cedric a écrit[/nom]
Si tu lis mon premier post, c'est exactement ce que j'ai fais, mais ça ne me convient pas comme méthode.
[/citation]


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

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

[citation=4209,1][nom]ThripS a écrit[/nom]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 !
[/citation]
 

thrips

Expert
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.
 

Mr yvele

Expert
[citation=4227,1][nom]ThripS a écrit[/nom]Pour vérifier une amélioration à ton code, il faut qu'elle soit énorme cette amélioration pour voir vraiment une différence.
[/citation]


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.. :)
 

thrips

Expert
[citation=4228,1][nom]Mr yvele a écrit[/nom]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.. :) [/citation]

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

Echo-Cedric

Nouveau membre
[citation=4228,1][nom]Mr yvele a écrit[/nom]
hop, fait ton indexage qui va bien.. et je t'assure que tu vois la difference.. c'est hallucinant.. :)
[/citation]
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.
 

nicoprog

Grand Maître
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)
 

ToxicAvenger

Expert
[citation=4229,1][nom]ThripS a écrit[/nom]

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

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
 

Mr yvele

Expert
[citation=4231,1][nom]Echo-Cedric a écrit[/nom]
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.

[/citation]

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:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 832
Membres
1 586 367
Dernier membre
ramkin
Partager cette page
Haut