Temps de chargement - Test de performance - PHP - Programmation
Marsh Posté le 13-05-2011 à 15:54:58
Commence par la : http://pagespeed.googlelabs.com/
Sinon regarde si ya pas des histoire de compression dans apache ou dans module en trop ...
Marsh Posté le 13-05-2011 à 16:04:52
tu lances tes scripts comment ? en les ouvrant dans ton navigateur ?
Marsh Posté le 13-05-2011 à 16:04:53
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
Marsh Posté le 13-05-2011 à 16:21:49
est ce que n'as pas , tout simplement , un débit ou une latence de merde avec ikoula
que donne un ping ?
Marsh Posté le 13-05-2011 à 16:25:01
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 ^^
Marsh Posté le 13-05-2011 à 16:41:55
ReplyMarsh Posté le 13-05-2011 à 17:14:18
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?
Marsh Posté le 13-05-2011 à 17:38:37
Voila le script avec le calcul du temps :
Code :
|
Merci.
Marsh Posté le 13-05-2011 à 23:35:18
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)
Marsh Posté le 13-05-2011 à 23:47:18
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%
Marsh Posté le 16-05-2011 à 10:19:01
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.
Marsh Posté le 16-05-2011 à 12:29:17
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.
Marsh Posté le 16-05-2011 à 12:50:36
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).
Marsh Posté le 16-05-2011 à 13:00:27
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.
Marsh Posté le 16-05-2011 à 13:46:22
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
Marsh Posté le 16-05-2011 à 13:49:26
Et quand je parle de "client" je parle pas du navigateur, mais du serveur de mon client ( la société pour laquelle je bosse )
Marsh Posté le 18-05-2011 à 03:30:38
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.
Marsh Posté le 18-05-2011 à 09:12:18
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 ...
Marsh Posté le 25-05-2011 à 11:54:27
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
Marsh Posté le 13-05-2011 à 15:16:42
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 :
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 :
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