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

Webdesign & Ergonomie Discussion :

Optimisation d'un site


Sujet :

Webdesign & Ergonomie

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Par défaut Optimisation d'un site
    Bonjour,

    Je me posais une petite questions concernant l'optimisation d'un site.

    Déjà, je pense qu'il faut favoriser les traitements PHP aux requêtes SQL, mais jusqu'à combien de requête peut-on juger que c'est acceptable pour le chargement d'une page ?
    Ensuite, favoriser les traitements PHP par rapports aux requêtes, mais jusqu'à quel point ? Si je récupère un gros tableau et que je dois le parcourir 2 ou 3 fois avant d'afficher la page, n'est-il pas préférable de faire 2 requêtes en plus ?

    Ensuite, que stocker en session, peut-on en abuser ? Doit-on se limiter à stocker le strict nécessaire kit à faire des requêtes en plus sur certaines pages pour récupérer des données ? Doit-on se promener avec sur les pages du site ? (pour certaines données, comme un id ou pseudo ?)

    Pour finir, la visibilité d'un id dans l'url ou dans le code source est-il vraiment unsecure ? N'est-ce pas tout simplement une question de droit et d'accès aux pages ? (pour un profil utilisateur ou pour un mp par exemple)

    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Déjà, je pense qu'il faut favoriser les traitements PHP aux requêtes SQL (...)
    En fait... non. Ou pas exactement.
    Bon, ok, je m'explique.

    La base de donnée est faite pour gerer les données le plus vite possible, des outils d'optimisations interne à la base existent justement pour gerer ces choses là. Ce que tu fait en php sera généralement plus lent.
    Alors oui, faire une requete, necessite une communication avec la base et c'est ca qui peut être un peu long (toute proportion gardée hein). Ce qu'il faut limiter n'est donc pas le traitement fait par la base, mais le nombre de requete que tu envoies.
    Après, pour le cas que tu proposes, deux requêtes de plus pour deux parcours de tableau de moins... à moins d'avoir des tableaux de taille gigantesque, sincèrement, je ne pense pas que ca fasse une différence visible dans un sens ou dans l'autre.

    Pour le stockage en session, généralement, je stocke seulement l'idSession et j'ai le reste en base. La session est un fichier sur le serveur, les actes de lecture/écriture de fichiers sont ce qu'il y a de plus lent. Donc plutot lire juste un id et faire une requete, en plus, je trouve ca plus propre. Maintenant, pour être honnete, je n'ai jamais comparé les perfs des deux. Mais encore une fois, à moins d'avoir des quantités énormes de données, ce gain là sera franchement négligeable.

    Ce qui peut par contre améliorer grandement les perfs, c'est la mise en place d'index sur tes tables.
    Si les index ont été bien pensé, d'experience, les quelques problèmes de perfs restant que j'ai eu sur mes sites étaient surtout dû a des traitements php mal codé (dans ce cas la ben... faut refaire en mieux ) ou très complexe (dans ce cas la... tu changes de machine pour en prendre une plus puissante )

    Et puis sinon, après il reste les palliatifs, genre une gestion intelligence des caches par exemple.

  3. #3
    Membre confirmé Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Par défaut
    Merci pour toutes tes réponses.

    Je me demande quand même quel nombre de requête, pour le chargement d'une page, reste acceptable ?

    Merci d'avance.

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    pour ma part pas de limite seul le traitement aval est lourd (sauf si tu as une requête merdique) cependant il faut garder une connexion permanente et non pas établir une connexion / déconnexion à chaque requêtes.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Ca ne veut rien dire "nombre minimum de requete acceptable". Un select count(*) from maTable avec maTable qui possède 10 lignes sera infiniment plus rapide qu'une requete avec cinq jointures sur des tables ayant des milliers d'enregistrement chacune.

    Dans le domaine de l'optimisation, à moins d'être un expert capable de déterminer par avance quels points précis de quels traitements peuvent poser problème, le plus simple reste la méthode empirique.
    Tu fais ta page, et si elle mets trop de temps à s'afficher, tu cherches à quel endroit est le goulot d'étranglement.

    Ma toute premiere véritable optimisation de page m'a pris deux semaine. C'était une page super complexe qui devait calculer et remplir un tableau avec la liste des employés d'une boite en fonction de leur affectation habituelle, leur compétence, leur disponibilité et je ne sais plus quoi d'autre. Elle mettait 30 seconde a se calculer. J'ai tout optimisé un par un (ne plus utiliser le framework pour faire les requêtes mais les passer en direct, eviter les reconnexion inutiles, etc...), mais ca foirait toujours. Finalement, en analysant vraiment ce qui prenait du temps, j'ai fini par tomber sur un bout de code, avec trois boucles for imbriquées et du coup, un ou deux millions d'itérations.
    Au final, en réduisant le nombre de boucle et en optimisant le tout petit bout de code au milieu, c'est la que j'ai enfin eu des temps acceptables.

    Bref, tout ca pour dire que si t'es a peu près propre quand tu codes, normalement, tu ne devrais pas te heurter à de vrai problème d'optim jusqu'a ce que tu fasses des traitements de brute, et a ce moment là, il sera temps d'analyser ou pèche et faire une optim ciblée et efficace.

  6. #6
    Membre confirmé Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Par défaut
    En fait j'ai mal posé ma question par rapport à ton premier post... Pour un site "grand public" en combien de temps doit s'afficher une page ? Vous me direz que ça dépend aussi de la puissance du serveur mais bon... Je ne sais pas vraiment comment posez ma question, si elle a lieu d'être...

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

Discussions similaires

  1. Optimiser ping multi sites
    Par hackmed dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 13/05/2015, 15h57
  2. Optimisation d'un site internet sur Mac
    Par cel44 dans le forum Apple
    Réponses: 1
    Dernier message: 12/06/2007, 13h56
  3. Bien optimiser son animation/site.
    Par hedgehog dans le forum Flash
    Réponses: 5
    Dernier message: 02/09/2006, 11h58
  4. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 14h29

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