IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Temps de chargement - Test de performance


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut Temps de chargement - Test de performance
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0;$i<10000;$i++)
    {
     echo "<div></div>";
    }
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu as le meme problème avec une page html ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    Salut,

    Je viens de tester a l'instant une page html avec 10000 divs ^^ et le chargement est instantané.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Dans ton test a 10000 div aussi c'etait instantané non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    donc en gros :
    en PHP, 10000 divs avec un id de 40 caracteres = 1.5s de chargement
    en html, meme divs, instantané ( j'ai pas le temps précis vu que c'est un fichier html, sans php donc, mais c'est instantané )

  6. #6
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    De quelle façon t'y prend tu pour obtenir tes temps ?

  7. #7
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    Salut,

    Voici le script avec les fonctions pour recuperer le temps de chargement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function getmicrotime()
    {
     list($usec,$sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
    }
     
    $debut = getmicrotime();
    for($i=0;$<10000;$i++)
    {
     echo "<div id='test'></div>";
    }
    $fin = getmicrotime();
    echo round($fin - $debut, 3);
    Merci

  8. #8
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    Hum, vraiment étrange.
    Essaie ceci pour voir si ce n'est pas le buffer de php qui se vide automatiquement à chaque echo, ce qui pourrait ralentir le processus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $buffer = ''
    $debut = getmicrotime();
    for($i=0;$<10000;$i++)
    {
     $buffer .= "<div id='test'></div>";
    }
    $fin = getmicrotime();
    echo round($fin - $debut, 3);
     
    echo $buffer;

  9. #9
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    Salut et merci pour ta réponse.
    Donc j'ai fait ce que tu m'as dit, et j'ai rajouté un getmicrotime() apres l'affichage du buffer.

    Donc le temps affiché juste apres la boucle : 0.003s
    Et le temps affiché apres l'affichage du buffer : 1.2s

    Visuellement le premier temps s'affiche instantanément et le 2eme beh au bout d'1.2s

    ( Le meme script sur mon serveur : 1er temps 0.002 , 2eme tps 0.009 )

    Merci.

  10. #10
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    Hum, bah déjà on voit que ce n'est pas les commandes PHP qui sont lentes (ce qui est une bonne nouvelles), mais l'envoi du contenu.

    La suite dépasse mes compétences, mais déjà, si tu contact l'hébergeur, ton problème est beaucoup plus précis à décrire.

  11. #11
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    Bon on m'avais indiqué de regarder la directive "output_buffering", qui en effet etait a 4096 sur le serveur de mon client et a "off" sur le miens. Mias en l'a passant a off ca n'a rien changé. Du coup je n'ai vraiment aucune autre piste ...
    Je crois que je vais contacter l'hebergeur oui.

    Merci.

  12. #12
    Membre chevronné
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par défaut
    Tiens nous au courant de la solution...

  13. #13
    Membre éclairé Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Par défaut
    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_s...ip_deflate.php

    Et la c'est nikel, le temps de transfert des données est quasi instantané.

    Voila voila

Discussions similaires

  1. test de temps de réponse et temps de chargement
    Par hamza.rezgui dans le forum Android
    Réponses: 1
    Dernier message: 31/07/2014, 16h28
  2. [2.x] Performances et temps de chargement
    Par mysticpete dans le forum Symfony
    Réponses: 3
    Dernier message: 20/03/2013, 16h37
  3. [9iR2] : Test de performance
    Par debutant_oracle dans le forum Oracle
    Réponses: 2
    Dernier message: 22/02/2006, 16h22
  4. Temps de chargement des applications .NET
    Par kamal101 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 17/11/2005, 09h11
  5. temps de chargement de la page en bas...
    Par kevinf dans le forum Général JavaScript
    Réponses: 33
    Dernier message: 19/10/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo