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 :

Améliorer la rapidité


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Par défaut Améliorer la rapidité
    Bonjour,

    Voila j'ai un site fonctionnel, mais le probleme c'est qu'il est lent à charger.
    On m'a dis que cela venait de la qualité de mon code, ce qui est tout à fait possible car il a été créer a la hate (donc trop de rapidité tu la qualité). De plus il s'agit de mon 1er réel projet en php/mysql.

    J'aimerai donc savoir quels sont les petites astuces pour améliorer les échanges avec le serveur, le chargement par le client etc... si vous en connaissez.

    Une tite question aussi :
    Le fait d'avoir une page (de code) énorme est-il plu lent à compiler par le serveur et à charger par le client, que si le code est fractionné dans plusieurs fichiers et resoudé avec des include; ou pas?

    Merci

  2. #2
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Bonjour
    ce qui ralenti le temps de chargement est souvent lié au traitement dans ton script
    De nombreuse boucle parcourrant des array avec des condition de sortie douteuse peut etre un probleme
    une requete qui n'est pas optimiser peut prendre bcp de temps d'execution
    Les images(si t'en as) jouer avec la qualité pour diminuer la grosseur de ces dernières
    Éliminer le superflux ne fait pas de tord non plus

    Pour ce qui est de séparer en plusieur fragement segmenter, je ne sais pas si ca optimise la vitesse, mais si c'est dans le but de la réutilisation de bout de code ca peut etre pratique sinon, ben ca devient lourd en maintenant quand il faut que tu joues dans 15 fichier différent pour trouver qu'est ce qui ne va pas

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Par défaut
    En faites il s'agit de ma page d'acceuil, et c vrai qu'il y a pas mal de boucle sur des array provenant de mysql, par contre je pense pas que ça vienne des conditions (cependant je le note pour plus tard), car c'est toujours while($don=mysql_fetch_array... ; et il y a au max 9 donnée par tableau.

    Quesque tu appelles une requetes optimisé? (je n'est que des petits select)

    Pour les images yen a bcp donc je pense je peux jouer la dessus

    En tout cas merci pour ta réponse, si tu vois d'autres conseils a me donner je suis preneur :p

    A si j'ai une question : dans la boucle qu'est ce qui est mieux, extract($don) ou $don['nom_du_champ'] niveau rapidité?

  4. #4
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Citation Envoyé par psylox
    Quesque tu appelles une requetes optimisé? (je n'est que des petits select)

    A si j'ai une question : dans la boucle qu'est ce qui est mieux, extract($don) ou $don['nom_du_champ'] niveau rapidité?
    Une requete optimisé est surtout si tu as des jointures de table dans tes select, si tu test tes requete dans phpmyadmin ou autre ca écrit le temps d'execution, hors une requete sur plusieur table peut prendre, si elle n'est pas optimisé...6-7 seconde (ce qui est quand meme très long) mais une fois optimisé prend 0.5 seconde, gagnant significativement de la rapidité
    pour ce faire penche toi sur les index et la fonction explain pour optimiser

    et pour ta 2e question, je ne sais pas, j'ai jamais utiliser extract($don) j'utilise plutot une forme comme while($don = mysql_fetch_array($requete))

    je ne sais pas s'il y en a un plus rapide que l'autre

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Par défaut
    Citation Envoyé par ozzmax
    et pour ta 2e question, je ne sais pas, j'ai jamais utiliser extract($don) j'utilise plutot une forme comme while($don = mysql_fetch_array($requete))
    Oui je suis d'accord je fais ça aussi mais c'est après :
    while($don=mysql_fetch_array($rq)) { extract($don); --> utilisation direct de $nom ou bien ne pas faire l'extract et utiliser la forme en tableau --> $don['nom']
    .....}

    Ok pour les requetes optimisé ça je connais mais plus sur Oracle , dans le cas de ce site je n'ai pas de jointure pour le moment. Je go look le explain je connais pa.


    Ok mathieugamin, j'avais déja fais attention a ne pas étaler mes balises sur plusieurs lignes, et les images sont faites par un designeur a part , je lui donne les dimensions et lui ce débrouille pour que ça rentre au poils

    Merci à vous, je vais modifier tout ça et voir si ça prends moins de temps

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    Je pense qu'avant de chercher à optimiser ton code. il faut déterminer
    les points faibles en terme de performance. Pour ça tu peux utiliser
    la fonction microtime pour mesurer le temps.

    http://fr.php.net/manual/fr/function.microtime.php

    Tu places des points de mesures à plusieurs endroit de ton traitement.

    Une fois que tu as déterminé les points faibles, cherche à évaluer le cout
    de chaque optimisation. Non seulement en temps de travail immédiat, mais
    aussi en pensant à ce que cela peut engendrer comme problèmes dans le
    futur pour le maintien de l'application.

  7. #7
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Tu peux gagner quelques millisecondes en utilisant les single quotes au lieu des doubles quotes dans ton code PHP.

    Ton code html joue également un rôle très important.
    Il faut éviter de mettre le contenu d'une balise sur plusieurs lignes, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <a href="
    mapage.php?param=1&amp;param2=3"
    onclick="coucou();"
    onmouseover="salut();"
    >
    Mon lien
    </a>
    Les images doivent être redimensionnées avec un programme avant d'être intégrées au design car les attributs width ou height affectent l'affichage, mais pas le poids du fichier. Inutile de leur coller une résolution à 300dpi, à part si tu veux les vendre

    Eviter les tableaux imbriqués !

    Ce sont pour moi les points clés que je peux ajouter à ce qu'a dit Psylox, mais y'en a plein d'autres à mon avis !

Discussions similaires

  1. Amélioration requête rapidité
    Par fredaster31 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/10/2012, 14h27
  2. Améliorer la rapidité de mon appli ?
    Par Baboulinet_ dans le forum Général Java
    Réponses: 3
    Dernier message: 15/11/2011, 15h01
  3. Améliorer rapidité requête mysql
    Par Pitof dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/06/2011, 10h36
  4. Compression des pages pour améliorer la rapidité
    Par econo-ecolo dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 26/06/2009, 09h00
  5. Amélioration rapidité requête
    Par viny dans le forum PostgreSQL
    Réponses: 15
    Dernier message: 07/03/2008, 10h00

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