Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1193 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Temps de chargement - Test de performance

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Temps de chargement - Test de performance

n°2075803
Erobaka
Posté le 13-05-2011 à 15:16:42  profilanswer
 

Bonjour à tous,
J'ai un assez gros problème de temps de chargement des pages sur le serveur d'un client, je vous expose mon problème :
 
( Désolé si je ne suis pas dans la bonne section )
 
Donc j'ai 2 serveurs :
 
Le mien :
Un mutualisé chez OVH, 90plan, qui est l'equivalent de l'offre "Pro" 100Go aujourd'hui
Systeme Linux (je n'ai pas trouvé plus d'info sur l'OS)
PHP 5.2.17
Donc hébergement plutot classique

 
Le serveur de mon client :
Un serveur dédié chez Ikoula
CPU GenuineIntel, Intel(R) Xeon(R)CPU X3330 @ 2.66GHz
4 go de ram, 2x1 to sata raid 1 hard
Systeme CentOS 5
PHP 5.2.10
Donc logiquement + puissant que mon serveur.

 
J'ai fait ce petit script en PHP pour tester :
 

Code :
  1. for($i=0;$i<10000;$i++)
  2. {
  3. echo "<div></div>";
  4. }


 
J'ai mis les bonnes fonctions avant et apres pour recuperer le temps de chargement de la page.
 
Resultat :
 
Mon serveur : Temps de chargement entre 0.01 et 0.03s
Serveur de mon client : Temps de chargement entre 0.21 et 0.33s
 
On voit deja une différence ...
 
--------------------------------------------------
 
Ensuite, dans le div j'ai ajouté un id, donc :

Code :
  1. echo "<div id='test'></div>";


 
Resultat :
 
Mon serveur : Temps de chargement entre 0.01 et 0.04s
Serveur de mon client : Temps de chargement entre 0.33 et 0.47s
 
--------------------------------------------------
 
Maintenant avec un id qui fait 40 caracteres :
 
Resultat :
 
Mon serveur : Temps de chargement entre 0.01 et 0.07s
Serveur de mon client : Temps de chargement autour de 1.5s
 
--------------------------------------------------
 
J'ai poussé le vice un peu plus loin avec un id de 5000 caracteres ( a peu pres )
 
Resultat :
 
Mon serveur : Temps de chargement entre 0.6 et 1s
Serveur de mon client : Temps de chargement de 73s !
 
--------------------------------------------------
 
Ca n'a rien a voir avec l'id lui même, a la base j'avais des onclick, onmouseover, onmouseout etc avec plusieurs fonctions js dans chaque et ca donnait le même résultat. Donc ca a l'air de venir de la taille des "infos" du div.
 
Voila donc si quelqu'un a une idée ou une piste pour régler ce problème ...
Merci d'avance :)

mood
Publicité
Posté le 13-05-2011 à 15:16:42  profilanswer
 

n°2075809
GordonF_69
Posté le 13-05-2011 à 15:54:58  profilanswer
 

Commence par la : http://pagespeed.googlelabs.com/
 
Sinon regarde si ya pas des histoire de compression dans apache ou dans module en trop ...


Message édité par GordonF_69 le 13-05-2011 à 15:56:23
n°2075811
flo850
moi je
Posté le 13-05-2011 à 16:04:52  profilanswer
 

tu lances tes scripts comment ? en les ouvrant dans ton  navigateur ?


---------------

n°2075812
Erobaka
Posté le 13-05-2011 à 16:04:53  profilanswer
 

Salut et merci pour ta réponse.
 
Score de 99/100 ^^ Logique il n'y a rien dans ma page a part ce script ( et le code HTML habituel )
Ca doit etre due a un module dans Apache oui ... mais je m'y connais pas trop en configuration Apache, tu aurais une idée d'un module en particulier qui pourrait ralentir le script php ?
J'ai recherché vite fait dans les infos php des 2 serveurs en tapant "compress" et il y a une différence : bzip2 installé et activé sur le serveur de mon client alors qu'il n'est pas present sur le mien.
Ca pourrait etre ca ? Je vais voir pour le desactiver.
 
Merci d'avance

n°2075813
Erobaka
Posté le 13-05-2011 à 16:05:14  profilanswer
 

flo850, oui je les ouvres dans le navigateur

n°2075817
flo850
moi je
Posté le 13-05-2011 à 16:21:49  profilanswer
 

est ce que n'as pas , tout simplement , un débit ou une latence de merde avec ikoula
 
que donne un ping ?


---------------

n°2075818
Erobaka
Posté le 13-05-2011 à 16:25:01  profilanswer
 

Non aucun probleme avec le ping.
Mais la c'est clairement pas un probleme de latence. plus il y a d'info sur le div plus c'est long, 73s ca ferait une sacrée latence ^^

n°2075821
flo850
moi je
Posté le 13-05-2011 à 16:32:12  profilanswer
 

et le débit ?


---------------

n°2075825
Erobaka
Posté le 13-05-2011 à 16:41:55  profilanswer
 

Hm le debit, je peux le voir comment ?

n°2075842
rufo
Pas me confondre avec Lycos!
Posté le 13-05-2011 à 17:14:18  profilanswer
 

Tes temps, ce sont des mesures entre une heure de début et de fin dans les scripts php ou entre le moment où le navigateur appel le script php et qu'il a fini de charger la page?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 13-05-2011 à 17:14:18  profilanswer
 

n°2075846
Erobaka
Posté le 13-05-2011 à 17:38:37  profilanswer
 

Voila le script avec le calcul du temps :
 

Code :
  1. function getmicrotime()
  2. {
  3. list($usec,$sec) = explode(" ",microtime());
  4. return ((float)$usec + (float)$sec);
  5. }
  6. $debut = getmicrotime();
  7. for($i=0;$<10000;$i++)
  8. {
  9. echo "<div id='test'></div>";
  10. }
  11. $fin = getmicrotime();
  12. echo round($fin - $debut, 3);


 
Merci.

n°2075885
GordonF_69
Posté le 13-05-2011 à 23:35:18  profilanswer
 

C'est le CPU qui fait tt ramer, normalement un petit script comme ca ne devrait pas prendre de temps ...
 
Connecte toi au pc et regarde les processus en cours ... (top sous linux)

n°2075886
Erobaka
Posté le 13-05-2011 à 23:47:18  profilanswer
 

Hm non apparemment c'est pas ca.
J'ai executé le script avec les id de 5000 caracteres, ca a duré 80s de chargement et pendant ce temps le seul processus qui est monté c'est mysqld, qui est monté a 15% max.
( bizarre que mysqld monte alors qu'il n'y a pas du tout de sql dans mon script ? )
les autres processus ne depassent pas les 0.5%

n°2076106
rufo
Pas me confondre avec Lycos!
Posté le 16-05-2011 à 10:19:01  profilanswer
 

Le temps que tu mesures est uniquement celui côté php : ce n'est pas le temps que ça va prendre pour afficher la page côté client dans le navigateur. Or, pour un site, bien souvent le temps de chargement côté client est plus long que celui de génération de la page par php.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2076202
Erobaka
Posté le 16-05-2011 à 12:29:17  profilanswer
 

Oui justement c'est bien ca le soucis, le ralentissement vient du transfert des données, pas du traitement lui meme ni de l'affichage.

n°2076217
rufo
Pas me confondre avec Lycos!
Posté le 16-05-2011 à 12:50:36  profilanswer
 

Erobaka a écrit :

Oui justement c'est bien ca le soucis, le ralentissement vient du transfert des données, pas du traitement lui meme ni de l'affichage.


C'est pas de que j'ai compris : tu avais l'air de dire que ton script php mettait beaucoup plus de temps à s'exécuter sur le serveur du client (80s avec cpu à un % normal mais mysqld qui montait, donc c'est côté serveur ça, pas côté navigateur).


Message édité par rufo le 16-05-2011 à 12:51:47

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2076219
czh
Posté le 16-05-2011 à 13:00:27  profilanswer
 

Erobaka a écrit :

Hm le debit, je peux le voir comment ?


 
Mettre un gros de fichier de par exemple 650 mo, et mesurer combien de temps il met pour se télécharger.

n°2076246
Erobaka
Posté le 16-05-2011 à 13:46:22  profilanswer
 

Je viens de tester en telechargeant un fichier depuis le ftp et le debit est tres bon, ca tourne autour de 1.1Mo/s
 
rufo j'ai fait le test suivant : dans la boucle au lieu de faire un echo j'ai mis dans un buffer et j'ai fais un echo du buffer une fois la boucle finie. resultat : temps apres la boucle proche de 0, temps apres echo du buffer tres long.
C'est donc bien le transfert des données qui est long, pas le traitement

n°2076248
Erobaka
Posté le 16-05-2011 à 13:49:26  profilanswer
 

Et quand je parle de "client" je parle pas du navigateur, mais du serveur de mon client ( la société pour laquelle je bosse )

n°2076732
Fk01
Posté le 18-05-2011 à 03:30:38  profilanswer
 

Salut, la différence est quand même asses hallucinante pour un traitement aussi basique.
 
Essaye de voir au niveau de phpinfo(), peux être que certains modules ou autres sont à l'origine de ce phénomène.

n°2076745
Erobaka
Posté le 18-05-2011 à 09:12:18  profilanswer
 

Salut,
J'ai déja regardé et le seul qui paraissait pouvoir ralentir était "output_buffering" qui etait réglé sur 4ko ( off sur mon serveur )
Apres je suis pas super calé donc je sais pas si il y a autre chose qui pourrait ralentir.
J'ai envoyé un message a l'hebergeur, ils sont en train de voir depuis quelques jours mais n'ont pas encore trouvé la source du probleme ...

n°2078068
Erobaka
Posté le 25-05-2011 à 11:54:27  profilanswer
 

Bon,
L’hébergeur n'a pas été capable de trouver la source du problème mais j'ai réussi a le "contourner" en utilisant la compression http://www.en1heure.com/compresser [...] eflate.php
 
Et la c'est nikel, le temps de transfert des données est quasi instantané.
 
Voila voila :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Temps de chargement - Test de performance

 

Sujets relatifs
chargementCUDA : Boucle for qui prend de plus en plus de temps
Test des elements dans un tableauQuel language, et combien de temps ?
Test sur un formulaire en javascripttemps nécessaire au développement d'une couche securisée
Chargement des dépendancesTemps d'exécution en millisecondes (linux/windows) + multithreads
Chargement des styles Windows XP OK, mais polices mochesMesurer le temps d'exec d'une fonction
Plus de sujets relatifs à : Temps de chargement - Test de performance


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR