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 :

[Système] Mozilla plus lent que IE


Sujet :

Langage PHP

  1. #1
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut [Système] Mozilla plus lent que IE
    Bonjour tout le monde,

    la page web principale de mon site (en PHP) met 1,5 fois plus de temps à s'afficher sous Mozilla. C'est pas énorme, mais après avoir passé plusieurs jours à l'optimiser côté requêtes, je tiens à optimiser au maximum cette page pour éviter explosion du serveur.

    Quelles peuvent-être les causes de ce ralentissement, et comment les éviter à votre avis?

    Bon, si vous me dites que c'est un gain de temps inutile j'abandonnerai, mais j'aimerai bien savoir quelle en est la cause au moins...

    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Si tu chronomètre avec php (fonction getmicrotime ou quelque chose du genre) Tu ne devrais voir aucune différence notable entre IE et mozilla?

    Quand je suis passé de IE à firefox j'ai eut une impression de lenteur de l'affichage. en fait c'est simplement parceque dans la famille mozilla on commence à afficher la page dès qu'elle commence à être chargée contrairement à IE qui a tendance à charger la page presque complètement avant de commencer à afficher. (du moins IE attends qu'un tableau soit chargé entièrement avant de l'afficher).
    Mais le résultat final c'est que IE est beaucoup plus lent à l'affichage des pages sur des design complexes.

    Dis moi Halleck, comment tu te débrouille pour chronométrer tes pages ?
    De plus si ton soucis c'est de ne pas mettre le serveur sur les genoux, ça ne dépend pas du tout du navigateur.

  3. #3
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Je chronomètre bien en PHP, avec la fonction indiquée.

    En local et presque vierge, ma page met 0,07 secondes à s'afficher sous IE, 0,12 sous Mozilla (c'est une moyenne ).

    C'est pas énorme, mais une fois sur le net il est très probable que la page soit bien plus lourde que c'est qu'elle est actuellement, alors si il faut attendre 2 secondes de plus avec Mozilla quand on a un 56k, je préfererai pouvoir eviter ce ralentissement.

    J'ai fais les test de vitesse d'affichage avec les mêmes applications qui tournent, et je les ai fait une bonne trentaine de fois pour chaque navigateur pour être sûr...

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Tu as fait tes tests en local via l'interface localhost, ou en conditions réels sur un serveur web distant ?
    Parcequ'en fait je me dis que peut-être que mozilla présente une certaine latence pour répondre au serveur et demander l'envoi de la suite des données.
    Tu pourrais tester en mettant ob_start() au début de ton code et ob_flush() à la fin et faire des tests en incluant ou non le ob_flush() dans le chonométrage.

    À moins que tu n'utilise déjà cette fonction ou un système de template.

  5. #5
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    J'ai rajouté ob_start() et ob_flush, le temps indiqué est désormais le même sous IE que sous Mozilla (c'est le temps indiqué sous IE qui gagne, c'était lui le bon )

    Dans la Doc, y'a ça:
    Citation Envoyé par Dans la Doc PHP, il y
    ob_start démarre la bufferisation de sortie. Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, n'est envoyée au navigateur, mais temporairement mise en buffer.
    je ne capte pas vraiment le pourquoi du changement du temps de chargement indiqué ni le but de la fonction. Est-ce que tu pourrais me l'expliquer?

    Merci pour ton aide en tout cas

  6. #6
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Le préfixe "ob" doit sûrement signifier "output buffer" en français "cache de sortie".
    Avec ob_start, toutes les données normalement envoyés au navigateur via echo ou print seront mises en cache. Lors de l'appel de ob_flush, on vide le cache et envoi son contenu au navigateur.

    Pourquoi cette différence de temps d'exécution ?
    Je pense que mozilla a un plus mauvais temps de réponse lorsqu'il reçoit un paquet de données.
    Je pense que le pipelining devrait résoudre ce problème de latence.

    Si tu as envie de tester : http://www.mozilla.org/support/firefox/tips#oth_pipelining

  7. #7
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    cette technique demande de modifier le fichier de profil de Mozilla, sur le disque dur. Donc sur un site destiné à être mis en ligne ce n'est pas possible, faudrait demander à tous les visiteurs de faire l'opération eux-même

    Merci bien pour ton explication, c'est très clair et au moins j'ai compris (ce qui n'était pas le cas avec la Doc)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 76
    Dernier message: 29/03/2011, 17h15
  2. JVM linux plus lente que la JVM windows?
    Par luckyvae dans le forum Langage
    Réponses: 4
    Dernier message: 16/02/2006, 01h44
  3. Code Asm plus lent que le C !!!
    Par themadmax dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 23/01/2006, 19h21
  4. [Firebird][Optimisation]Plus lent que le BDE!
    Par vincentj dans le forum Débuter
    Réponses: 3
    Dernier message: 07/02/2005, 16h48
  5. DBExpress est plus lent que BDE?
    Par palassou dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/07/2004, 09h39

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