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

Symfony PHP Discussion :

Tutoriel pour l'optimisation des performances ?


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut Tutoriel pour l'optimisation des performances ?
    Bonjour,

    J'aimerais savoir s'il existe un tuto pour optimiser les performances Symfony :
    1. optimiser la gestion du cache (pages publiques ou privates, ou en partie publiques, cache statique avec le .htaccess...)
    2. optimiser le modèle de données (éviter les jointures si possible en dénormalisant, gestion des index et clés...)
    3. gestion des logs (conservation des logs, taille max, rotation, ...)
    4. autres...


    Merci pour tout conseil !

  2. #2
    Membre régulier
    Homme Profil pro
    Lead Développeur
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Développeur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Salut vinsse,

    Je ne pourrais peut-être pas répondre à tout, mais voici une petite liste :



    Apres je peux encore t'en sortir mais tu cherches quoi exactement ?

  3. #3
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Salut Soullivaneuh, merci pour les liens, je vais regarder ça.

    Disons que j'ai un besoin assez urgent et d'autres qui sont moins pressés :

    1) Le plus urgent est pour moi de trouver une solution de remplacement pour éviter un appel SQL systématique (et toujours identique) sur la page d'accueil (ainsi que sur d'autres pages). Il récupère une liste des catégories (7 lignes dans la table Categorie) et je pensais à remplacer ça par la définition des 7 catégories dans un fichier de paramètre, qui serait toujours dispo en mémoire.
    (j'ai codé initialement en m'appuyant sur les entity Symfony mais finalement, ça alourdit fortement la base et les appels de pages, d'où ma question sur les optimisations)

    2) J'ai constaté d'autres problèmes, qui seraient à améliorer petit à petit :
    - le fichier de log grossit sans avoir de paramétrage de base (alors qu'en java, un bon vieux log4j vous propose des logs tournants, avec taille limité, etc.). Et si on ne surveille pas, le log grossit et ralentit de plus en plus l'appli.
    - par défaut les pages ne sont pas mises en cache. D'où un temps d'affichage de 2 à 3s. Alors qu'avec la mise en cache (page déclarée 'publique') on réduit à 40 ms. Mais il y a des effets de bord, car une page 'publique' avec un formulaire pré-rempli juste avec le nom de l'utilisateur va apparaître à tous les utilisateurs...
    - en base de données, en plus du souci 1), j'aimerais savoir comment optimiser les index, faut-il un index sur chaque colonne qui sert pour une recherche ? Est-ce qu'il y a des bonnes pratiques ? Ca se fait depuis Symfony ou à la main dans MySQL ?

    Vincent

  4. #4
    Membre régulier
    Homme Profil pro
    Lead Développeur
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Développeur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    1) J'ai jamais tester mais tu peux mettre en cache les requetes doctrine, ca devrait repondre a ta problematique, par contre il faut faire attention lors de la modification de ces categories.

    2)
    - Oui le log est un probleme, je ne me suis pas encore penche dessus et ca m'interesse si tu trouves des outils interessant !
    - Tu veux dire quoi exactement par mise en cache ? Car si je ne dis pas de betises les templates twig sont caches...
    - Je ne suis pas expert en bonne pratique pour les index MySQL, je sais par contre que tu peux preciser les index sur ton entite doctrine: http://docs.doctrine-project.org/en/...l#annref-index

    En cherchant un peu, j'ai trouve un article sur la gestion des indexs: http://www.dbnewz.com/2008/06/27/les...ts-efficacite/

    Je n'ai pas le temps de le lire pour le moment, donne moi des nouvelles !

  5. #5
    Membre habitué Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Points : 149
    Points
    149
    Par défaut
    Je serai peut être un peu hors sujet, mais à tout hasard...

    Dans le cadre d'un appli riche, j'ai constaté un gain de performances très important en utilisant Assetic pour rassembler mes assets et les compresser.
    La mise en oeuvre en est de plus très aisée.

    Je surveille en tout cas cette discussion, je pressent qu'elle me sera utile rapidement...
    Javascript est la pornstar des langages de programmation : souple, puissant, tu lui fais faire ce que tu veux, et ça peut finir bien crade.
    ---
    https://www.bgaze.fr

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut
    Salut,

    Niveau architecture t'es sur quoi ?

    nginx, php-fpm et varnish fait bien l'affaire apparemment, la gestion des ESI est aussi importante.

Discussions similaires

  1. Réponses: 13
    Dernier message: 18/07/2011, 17h24
  2. Réponses: 6
    Dernier message: 02/05/2010, 19h09
  3. Optimisation des performances sur station SUN
    Par TiChabin972 dans le forum Général Java
    Réponses: 1
    Dernier message: 20/07/2007, 17h26
  4. Optimisation des performances
    Par GLSpirit dans le forum C++
    Réponses: 14
    Dernier message: 12/05/2007, 14h18
  5. Réponses: 0
    Dernier message: 10/12/2000, 12h00

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