SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Petit trait´ de performances ` l’usage de tous
           e                 a
Drupal
Petit trait´ de performances ` l’usage de tous
           e                 a
    Int´grateur, architecte, d´veloppeur, tous concern´s
       e                      e                       e


                       Pierre Rineau

                          Makina Corpus
                pierre.rineau@makina-corpus.com


                        Janvier 2011




                                                  MAKINA
                                                  CORPUS
Petite introduction
                             Les causes ´videntes
                                        e
                              D´tails et solutions
                                e
                                     Et pour finir




Synopsis



          L’API grandissante de Drupal et la multiplication de nouvelles
      fonctionnalit´s g´n`rent de plus en plus de sites ”´l´phantesques”. La
                    e e e                                ee
      r´activit´ d’un site, dans le monde du web, est un domaine critique qui
       e       e
      concerne tous les intervenants. Travail pr´par´ en amont par le
                                                e e
      d´veloppeur, cet aspect n´c´ssite d’ˆtre pr´sent dans l’esprit de
       e                         e e      e      e
      l’int´grateur et doit ˆtre maˆ e par les administrateurs syst`me. Cette
           e                e      ıtris´                             e
      session ` pour but de pr´senter la toile d’araign´e et les r´actions en chaˆ
               a                e                      e          e              ıne
      provoqu´es dans un contexte ou ces trois rˆles s’ignorent.
               e                                   o




                                        P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                                e                 a
Sommaire



  1   Petite introduction

  2   Les causes ´videntes
                 e

  3   D´tails et solutions
       e

  4   Et pour finir
Petite introduction
                   Les causes ´videntes
                              e            Drupal ?
                    D´tails et solutions
                      e                    Rˆles et probl´matique
                                            o            e
                           Et pour finir




Qu’est ce que Drupal ?




                              P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                      e                 a
Petite introduction
                             Les causes ´videntes
                                        e            Drupal ?
                              D´tails et solutions
                                e                    Rˆles et probl´matique
                                                      o            e
                                     Et pour finir




Qu’est ce que Drupal ?

   Sur http://drupal.org :

          Drupal is an open source content management platform
       powering millions of websites and applications.


   Sur http://acquia.com/what-is-drupal :

           Tens of thousands of people and organizations have used
       Drupal to power scores of different web sites, including
       community web portals, corporate web sites, social networking
       sites, personal web sites or blogs, and much more.



                                        P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                                e                 a
Petite introduction
                          Les causes ´videntes
                                     e            Drupal ?
                           D´tails et solutions
                             e                    Rˆles et probl´matique
                                                   o            e
                                  Et pour finir




Forces mais faiblesses




     • Tr`s fort dynamisme
         e

     • Le hook : alt´ration VS extention
                    e

     • Un m´tier d´laiss´, r´cup´r´ par les modules
           e      e     e e ee

     • Des utilisation h´t´roclites : blog, e-commerce, social networking
                        e e

                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Petite introduction
                 Les causes ´videntes
                            e            Drupal ?
                  D´tails et solutions
                    e                    Rˆles et probl´matique
                                          o            e
                         Et pour finir




Le d´veloppeur
    e




                                              • D´veloppe souvent pour un
                                                 e
                                                  seul cas d’utilisation


                                              • Ne connaˆ pas qui va utiliser
                                                        ıt
                                                  son produit


                                              • Documente peu




                            P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                    e                 a
Petite introduction
                           Les causes ´videntes
                                      e            Drupal ?
                            D´tails et solutions
                              e                    Rˆles et probl´matique
                                                    o            e
                                   Et pour finir




L’int´grateur
     e




   • Utilise le travail de multiple
     d´veloppeurs
      e


   • Ne voit que la partie ´merg´e
                           e    e
     de l’iceberg


   • On lui demande souvent d’ˆtre
                              e
     architecte logiciel



                                      P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                              e                 a
Petite introduction
                       Les causes ´videntes
                                  e            Drupal ?
                        D´tails et solutions
                          e                    Rˆles et probl´matique
                                                o            e
                               Et pour finir




L’architecte syst`me
                 e



                                                    • R´cup`re le travail de
                                                       e   e
                                                        l’int´grateur
                                                             e


                                                    • Introduit des contraintes
                                                        nouvelles, souvent a posteriori


                                                    • Doit maˆ
                                                             ıtriser le scaling d’une
                                                        plateforme parmis tant
                                                        d’autres



                                  P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                          e                 a
Petite introduction
                   Les causes ´videntes
                              e            ´
                                           Echelle
                    D´tails et solutions
                      e                    Abstraction
                           Et pour finir




L’´chelle d’un module
  e




                              P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                      e                 a
Petite introduction
                  Les causes ´videntes
                             e            ´
                                          Echelle
                   D´tails et solutions
                     e                    Abstraction
                          Et pour finir




L’abstraction

                Ce que con¸oit le d´veloppeur :
                          c        e




                             P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                     e                 a
Petite introduction
                           Les causes ´videntes
                                      e            ´
                                                   Echelle
                            D´tails et solutions
                              e                    Abstraction
                                   Et pour finir




L’abstraction


     Ce qu’utilise l’int´grateur :
                        e




                                                                          Le r´sultat !
                                                                              e


                                      P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                              e                 a
Un GROS goulot : la base de donn´es
                                                                               e
                        Petite introduction
                                               La gestion des caches
                       Les causes ´videntes
                                  e
                                               Connaˆ son ennemi: L’environnement
                                                     ıtre
                        D´tails et solutions
                          e
                                               Connaˆ son ennemi: Les mauvais patterns
                                                     ıtre
                               Et pour finir
                                               Connaˆ son ennemi: Le manque de connaissance
                                                     ıtre



Le SQL



    • Drupal, usine ` requˆtes
                    a     e


    • Schema dispers´ et API non centralis´e
                    e                     e


    • Des modules contraints au hack




                                  P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                          e                 a
Un GROS goulot : la base de donn´es
                                                                                  e
                           Petite introduction
                                                  La gestion des caches
                          Les causes ´videntes
                                     e
                                                  Connaˆ son ennemi: L’environnement
                                                        ıtre
                           D´tails et solutions
                             e
                                                  Connaˆ son ennemi: Les mauvais patterns
                                                        ıtre
                                  Et pour finir
                                                  Connaˆ son ennemi: Le manque de connaissance
                                                        ıtre



Le SQL : des solutions



     • D´veloppeurs, ´vitez les requˆtes inutiles
        e            e              e

     • D´veloppeurs toujours, utilisez des caches
        e

     • Int´grateurs, connaissez les modules!
          e

     • Architectes, pensez ` activer les caches
                           a




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Un GROS goulot : la base de donn´es
                                                                             e
                      Petite introduction
                                             La gestion des caches
                     Les causes ´videntes
                                e
                                             Connaˆ son ennemi: L’environnement
                                                   ıtre
                      D´tails et solutions
                        e
                                             Connaˆ son ennemi: Les mauvais patterns
                                                   ıtre
                             Et pour finir
                                             Connaˆ son ennemi: Le manque de connaissance
                                                   ıtre



MySQL Vs. PostgreSQL




   MySQL, un grand gourmand!                 PostgreSQL, le poids de l’exp´rience.
                                                                          e




                                P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                        e                 a
Un GROS goulot : la base de donn´es
                                                                            e
                     Petite introduction
                                            La gestion des caches
                    Les causes ´videntes
                               e
                                            Connaˆ son ennemi: L’environnement
                                                  ıtre
                     D´tails et solutions
                       e
                                            Connaˆ son ennemi: Les mauvais patterns
                                                  ıtre
                            Et pour finir
                                            Connaˆ son ennemi: Le manque de connaissance
                                                  ıtre



Cache binaire : concept

                 Normalisation VS S´rialisation
                                   e




                               P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                       e                 a
Un GROS goulot : la base de donn´es
                                                                                  e
                           Petite introduction
                                                  La gestion des caches
                          Les causes ´videntes
                                     e
                                                  Connaˆ son ennemi: L’environnement
                                                        ıtre
                           D´tails et solutions
                             e
                                                  Connaˆ son ennemi: Les mauvais patterns
                                                        ıtre
                                  Et pour finir
                                                  Connaˆ son ennemi: Le manque de connaissance
                                                        ıtre



Cache binaire : utilit´
                      e




                                           ´
                   SOULAGER LA BASE DE DONNEE


   Non sans constraintes, ne pas r´petez les mˆmes erreurs :
                                  e           e
     • Pensez aux I/O

     • Pensez latence




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Un GROS goulot : la base de donn´es
                                                                                    e
                             Petite introduction
                                                    La gestion des caches
                            Les causes ´videntes
                                       e
                                                    Connaˆ son ennemi: L’environnement
                                                          ıtre
                             D´tails et solutions
                               e
                                                    Connaˆ son ennemi: Les mauvais patterns
                                                          ıtre
                                    Et pour finir
                                                    Connaˆ son ennemi: Le manque de connaissance
                                                          ıtre



Les caches et de le d´veloppeur
                     e



   La responsabilit´ du d´veloppeur : mettre en place les caches
                   e     e
     • De multiple niveaux : des des caches diff´renti´s
                                               e     e
   Plusieurs facteurs de s´paration logique des donn´es :
                          e                         e
     • Criticit´ (fr´quence d’acc`s)
               e e               e

     • Volum´trie (taille des ´l´ments)
            e                 ee




                                       P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                               e                 a
Un GROS goulot : la base de donn´es
                                                                                    e
                             Petite introduction
                                                    La gestion des caches
                            Les causes ´videntes
                                       e
                                                    Connaˆ son ennemi: L’environnement
                                                          ıtre
                             D´tails et solutions
                               e
                                                    Connaˆ son ennemi: Les mauvais patterns
                                                          ıtre
                                    Et pour finir
                                                    Connaˆ son ennemi: Le manque de connaissance
                                                          ıtre



Les caches et l’architecte

   La r´sponsabilit´ de l’architecte : bien les utiliser
       e           e




                                                         • Connaˆ
                                                                ıtre les diff´rents niveaux
                                                                            e

                                                         • Et les diff´rents backends
                                                                     e

                                                         • Criticti´ VS volum´trie, ou
                                                                   e         e
                                                             bien choisir ses backends




                                       P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                               e                 a
Un GROS goulot : la base de donn´es
                                                                                 e
                          Petite introduction
                                                 La gestion des caches
                         Les causes ´videntes
                                    e
                                                 Connaˆ son ennemi: L’environnement
                                                       ıtre
                          D´tails et solutions
                            e
                                                 Connaˆ son ennemi: Les mauvais patterns
                                                       ıtre
                                 Et pour finir
                                                 Connaˆ son ennemi: Le manque de connaissance
                                                       ıtre



G´n´ralit´s et erreurs communes
 e e     e


    • Parlons un peu des caches statiques

    • Statiques ou persistents, ne vous substituez jamais au
      compilateur!

    • Le cache doit ˆtre au coeur du design de l’application
                    e

    • Dans certains cas il doit orienter les API

    • Trop de niveaux de cache dans la mˆme API soul`ve souvent un
                                        e           e
      probl`me de design
           e



                                    P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                            e                 a
Un GROS goulot : la base de donn´es
                                                                                  e
                           Petite introduction
                                                  La gestion des caches
                          Les causes ´videntes
                                     e
                                                  Connaˆ son ennemi: L’environnement
                                                        ıtre
                           D´tails et solutions
                             e
                                                  Connaˆ son ennemi: Les mauvais patterns
                                                        ıtre
                                  Et pour finir
                                                  Connaˆ son ennemi: Le manque de connaissance
                                                        ıtre



L’ennemi de l’architecte : l’environnement



                      Linux / Apache / MySQL / PHP

     • Peu importe l’OS, mˆme probl´matiques
                          e        e

     • Architecture N-tiers de fait

     • Environnement consommateur en I/O




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Un GROS goulot : la base de donn´es
                                                                                   e
                            Petite introduction
                                                   La gestion des caches
                           Les causes ´videntes
                                      e
                                                   Connaˆ son ennemi: L’environnement
                                                         ıtre
                            D´tails et solutions
                              e
                                                   Connaˆ son ennemi: Les mauvais patterns
                                                         ıtre
                                   Et pour finir
                                                   Connaˆ son ennemi: Le manque de connaissance
                                                         ıtre



L’OS




       • Son goulot d’´tranglement, les I/O
                      e




                                      P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                              e                 a
Un GROS goulot : la base de donn´es
                                                                                 e
                          Petite introduction
                                                 La gestion des caches
                         Les causes ´videntes
                                    e
                                                 Connaˆ son ennemi: L’environnement
                                                       ıtre
                          D´tails et solutions
                            e
                                                 Connaˆ son ennemi: Les mauvais patterns
                                                       ıtre
                                 Et pour finir
                                                 Connaˆ son ennemi: Le manque de connaissance
                                                       ıtre



Le HTTPd




   • Son goulot d’´tranglement, le HTTP (et donc les I/O)
                  e

   • Mais aussi :
       • La concurence
       • La m´moire
              e




                                    P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                            e                 a
Un GROS goulot : la base de donn´es
                                                                                e
                         Petite introduction
                                                La gestion des caches
                        Les causes ´videntes
                                   e
                                                Connaˆ son ennemi: L’environnement
                                                      ıtre
                         D´tails et solutions
                           e
                                                Connaˆ son ennemi: Les mauvais patterns
                                                      ıtre
                                Et pour finir
                                                Connaˆ son ennemi: Le manque de connaissance
                                                      ıtre



Le SGBD




   • Maˆ
       ıtre des donn´es, de leur int´grit´ et coh´rence
                    e               e    e       e

   • Difficile ` clusteriser
             a

   • Une force et faiblesse : le query cache (MySQL seulement)




                                   P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                           e                 a
Un GROS goulot : la base de donn´es
                                                                                   e
                            Petite introduction
                                                   La gestion des caches
                           Les causes ´videntes
                                      e
                                                   Connaˆ son ennemi: L’environnement
                                                         ıtre
                            D´tails et solutions
                              e
                                                   Connaˆ son ennemi: Les mauvais patterns
                                                         ıtre
                                   Et pour finir
                                                   Connaˆ son ennemi: Le manque de connaissance
                                                         ıtre



PHP




      • Langage interp´t´ : compilation lors de chaque hit
                      e e

      • Non persistent, d’o` la n´c´ssit´ des caches binaires
                           u     e e e




                                      P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                              e                 a
Un GROS goulot : la base de donn´es
                                                                                e
                         Petite introduction
                                                La gestion des caches
                        Les causes ´videntes
                                   e
                                                Connaˆ son ennemi: L’environnement
                                                      ıtre
                         D´tails et solutions
                           e
                                                Connaˆ son ennemi: Les mauvais patterns
                                                      ıtre
                                Et pour finir
                                                Connaˆ son ennemi: Le manque de connaissance
                                                      ıtre



Comment rendre PHP lightening fast



   Utilisez un OPCode cache

     • Enl`ve la phase de compilation et interpr´tation
          e                                     e

     • Apporte de nombreuse optimisations


   De mani`re g´n´rale, divise le temps d’ex´cution approximativement
          e    e e                          e
   par 2




                                   P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                           e                 a
Un GROS goulot : la base de donn´es
                                                                                 e
                          Petite introduction
                                                 La gestion des caches
                         Les causes ´videntes
                                    e
                                                 Connaˆ son ennemi: L’environnement
                                                       ıtre
                          D´tails et solutions
                            e
                                                 Connaˆ son ennemi: Les mauvais patterns
                                                       ıtre
                                 Et pour finir
                                                 Connaˆ son ennemi: Le manque de connaissance
                                                       ıtre



Un OPCode cache : APC


  Voici un exemple des optimisations possibles. Les chiffres proviennent
  d’un environnement de d´veloppement, sur la home page d’un site D7
                          e
  sans modules.

    • PHP sans OPcode : 360ms

    • APC, sans configuration pr´alable : 107ms
                               e

    • Avec apc.include_once_override et apc.canonicalize et sans
      apc.stat : 103ms

    • Avec le cache_bootstrap binaire dans APC : 94ms




                                    P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                            e                 a
Un GROS goulot : la base de donn´es
                                                                                  e
                           Petite introduction
                                                  La gestion des caches
                          Les causes ´videntes
                                     e
                                                  Connaˆ son ennemi: L’environnement
                                                        ıtre
                           D´tails et solutions
                             e
                                                  Connaˆ son ennemi: Les mauvais patterns
                                                        ıtre
                                  Et pour finir
                                                  Connaˆ son ennemi: Le manque de connaissance
                                                        ıtre



L’ennemi du d´veloppeur : le manque de culture
             e


      `
    • A quasiment chaque probl`me il existe d´ja une solution
                              e              e

    • Un code grandissant n´c´ssite de r´fl´chir
                           e e          e e

    • Un code trop grandissant ne demande qu’` diminuer
                                             a

    • Renseignez vous sur comment la machine comprend votre code

    • N’ayez jamais peur lire celui des autres !




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Un GROS goulot : la base de donn´es
                                                                                  e
                           Petite introduction
                                                  La gestion des caches
                          Les causes ´videntes
                                     e
                                                  Connaˆ son ennemi: L’environnement
                                                        ıtre
                           D´tails et solutions
                             e
                                                  Connaˆ son ennemi: Les mauvais patterns
                                                        ıtre
                                  Et pour finir
                                                  Connaˆ son ennemi: Le manque de connaissance
                                                        ıtre



L’ennemi de l’int´grateur : trop de module tue le module
                 e



     • Plus on est de fou, moins c’est rapide

     • Pourquoi utiliser un module de 100 000 lignes de code quand 10
       suffisent ?

     • Pensez-vous ` tester les performances durant le d´veloppement ?
                   a                                    e

     • Savoir d´tecter les incoh´rences
               e                e




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Petite introduction
                          Les causes ´videntes
                                     e            En vrac. . .
                           D´tails et solutions
                             e                    Le temps. . .
                                  Et pour finir




Quelques id´es en vrac
           e


    • Profilez-vous durant le d´veloppement et l’int´gration (xdebug,
                              e                    e
      analyse de code, benchmarks) ?

    • Analysez-vous l’impact de performance de chaque module ? Si
      non, faites le ! Vous aurez des surprises..

    • Le meilleur ami, de tous, ` tous les niveaux : le benchmark.
                                a

    • Mais avant tout, quel est le m´tier de votre site ?
                                    e




                                     P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                             e                 a
Petite introduction
                   Les causes ´videntes
                              e            En vrac. . .
                    D´tails et solutions
                      e                    Le temps. . .
                           Et pour finir




Ne sachant pas o` le temps allait nous amener
                u




                              P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                      e                 a
Petite introduction
                  Les causes ´videntes
                             e            En vrac. . .
                   D´tails et solutions
                     e                    Le temps. . .
                          Et pour finir




Zi Ende
          En avant pour des sites toujours plus sexy!




                  Figure: c Jean-Yves Lemoigne

                             P. Rineau    Petit trait´ de performances ` l’usage de tous
                                                     e                 a
Drupalcamp Nantes - Traité performance

Weitere ähnliche Inhalte

Andere mochten auch

Lisieux 2011 album - bis
Lisieux 2011   album - bisLisieux 2011   album - bis
Lisieux 2011 album - bisOutremeuse
 
20120725 curs internet i xarxes com a oportunitat promodespi
20120725 curs internet i xarxes com a oportunitat promodespi20120725 curs internet i xarxes com a oportunitat promodespi
20120725 curs internet i xarxes com a oportunitat promodespiAmigos Singles
 
Campaña de sensibilizacion en normas de cultura ciudadana
Campaña de sensibilizacion en normas de cultura ciudadanaCampaña de sensibilizacion en normas de cultura ciudadana
Campaña de sensibilizacion en normas de cultura ciudadanaingele
 
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadamebody194
 
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-Tätigen
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-TätigenUmfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-Tätigen
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-TätigenFrank Hamm
 
Présentation - Candidature des climats du vignoble de Bourgogne pour l'inscr...
Présentation - Candidature des climats du vignoble de  Bourgogne pour l'inscr...Présentation - Candidature des climats du vignoble de  Bourgogne pour l'inscr...
Présentation - Candidature des climats du vignoble de Bourgogne pour l'inscr...VINCENTLAINE
 
Guide Afmm2010 Marketing Mobile
Guide Afmm2010 Marketing MobileGuide Afmm2010 Marketing Mobile
Guide Afmm2010 Marketing MobileAnais Guillemané
 
Las TIC en el plano asistencial
Las TIC en el plano asistencialLas TIC en el plano asistencial
Las TIC en el plano asistencialOlga Navarro
 
Web 2 imagenes super
Web 2 imagenes superWeb 2 imagenes super
Web 2 imagenes superveronica
 
8Mayo_Comunicación y Relación Interpersonal (5.14)
8Mayo_Comunicación y Relación Interpersonal (5.14)8Mayo_Comunicación y Relación Interpersonal (5.14)
8Mayo_Comunicación y Relación Interpersonal (5.14)Alicia Garcia Oliva
 
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11CRIJ Occitanie - site Toulouse
 
2ème Forum e-Marketing et Tourisme du 25 février 2010
2ème Forum e-Marketing et Tourisme du 25 février 20102ème Forum e-Marketing et Tourisme du 25 février 2010
2ème Forum e-Marketing et Tourisme du 25 février 2010CCI LA ROCHELLE
 
Inpix transmedia storytelling
Inpix transmedia storytellingInpix transmedia storytelling
Inpix transmedia storytellingInpix
 

Andere mochten auch (20)

Lisieux 2011 album - bis
Lisieux 2011   album - bisLisieux 2011   album - bis
Lisieux 2011 album - bis
 
20120725 curs internet i xarxes com a oportunitat promodespi
20120725 curs internet i xarxes com a oportunitat promodespi20120725 curs internet i xarxes com a oportunitat promodespi
20120725 curs internet i xarxes com a oportunitat promodespi
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Campaña de sensibilizacion en normas de cultura ciudadana
Campaña de sensibilizacion en normas de cultura ciudadanaCampaña de sensibilizacion en normas de cultura ciudadana
Campaña de sensibilizacion en normas de cultura ciudadana
 
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame
789d600f 9574 4e73 977f 3f717cb0369a Les40ansdemadame
 
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-Tätigen
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-TätigenUmfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-Tätigen
Umfrageergebnisse Online-Nutzung bei PR-Interessierten und PR-Tätigen
 
Présentation - Candidature des climats du vignoble de Bourgogne pour l'inscr...
Présentation - Candidature des climats du vignoble de  Bourgogne pour l'inscr...Présentation - Candidature des climats du vignoble de  Bourgogne pour l'inscr...
Présentation - Candidature des climats du vignoble de Bourgogne pour l'inscr...
 
Guide Afmm2010 Marketing Mobile
Guide Afmm2010 Marketing MobileGuide Afmm2010 Marketing Mobile
Guide Afmm2010 Marketing Mobile
 
Québec5
Québec5Québec5
Québec5
 
Hérodion
HérodionHérodion
Hérodion
 
Las TIC en el plano asistencial
Las TIC en el plano asistencialLas TIC en el plano asistencial
Las TIC en el plano asistencial
 
Broche
BrocheBroche
Broche
 
Robotica
RoboticaRobotica
Robotica
 
Web 2 imagenes super
Web 2 imagenes superWeb 2 imagenes super
Web 2 imagenes super
 
8Mayo_Comunicación y Relación Interpersonal (5.14)
8Mayo_Comunicación y Relación Interpersonal (5.14)8Mayo_Comunicación y Relación Interpersonal (5.14)
8Mayo_Comunicación y Relación Interpersonal (5.14)
 
Citation de Salvador Dalí
Citation de Salvador DalíCitation de Salvador Dalí
Citation de Salvador Dalí
 
Alcoholismo
AlcoholismoAlcoholismo
Alcoholismo
 
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11
ARDESI : Les Midi-Pyrénéens et la Société de l’Information 24-11-11
 
2ème Forum e-Marketing et Tourisme du 25 février 2010
2ème Forum e-Marketing et Tourisme du 25 février 20102ème Forum e-Marketing et Tourisme du 25 février 2010
2ème Forum e-Marketing et Tourisme du 25 février 2010
 
Inpix transmedia storytelling
Inpix transmedia storytellingInpix transmedia storytelling
Inpix transmedia storytelling
 

Ähnlich wie Drupalcamp Nantes - Traité performance

Comment contribuer à Drupal
Comment contribuer à DrupalComment contribuer à Drupal
Comment contribuer à DrupalArtusamak
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Chipway
 
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...Julien Dubreuil
 
Xp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgileXp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgilePascal Roques
 
Bonnes Pratiques Projet Web - Paris Web 2008
Bonnes Pratiques Projet Web - Paris Web 2008Bonnes Pratiques Projet Web - Paris Web 2008
Bonnes Pratiques Projet Web - Paris Web 2008pdwn
 
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008Association Paris-Web
 
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commercePrésentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerceLINAGORA
 
Livre blanc améliorez les performances de vos projets web - v1.1
Livre blanc   améliorez les performances de vos projets web - v1.1Livre blanc   améliorez les performances de vos projets web - v1.1
Livre blanc améliorez les performances de vos projets web - v1.1JEAN-GUILLAUME DUJARDIN
 
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slidesForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slidesChipway
 
e-commerce Open Source par l'oect.fr
e-commerce Open Source par l'oect.fre-commerce Open Source par l'oect.fr
e-commerce Open Source par l'oect.frcyruss666
 
Le projet Tiger à l'EPITA
Le projet Tiger à l'EPITALe projet Tiger à l'EPITA
Le projet Tiger à l'EPITAhere_and_there
 
La gestion des médias dans Drupal 8
La gestion des médias dans Drupal 8La gestion des médias dans Drupal 8
La gestion des médias dans Drupal 8woprrr
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Chipway
 
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingPositionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingChipway
 
Le futur de Drupal et des applications web
Le futur de Drupal et des applications webLe futur de Drupal et des applications web
Le futur de Drupal et des applications webJulien Dubreuil
 
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalDrupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalOlivier Friesse
 
Case study : 2 applications mobiles réalisées avec Drupal
Case study : 2 applications mobiles réalisées avec DrupalCase study : 2 applications mobiles réalisées avec Drupal
Case study : 2 applications mobiles réalisées avec DrupalSkilld
 
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...Rubedo, a WebTales solution
 

Ähnlich wie Drupalcamp Nantes - Traité performance (20)

Novencia agile
Novencia agileNovencia agile
Novencia agile
 
Comment contribuer à Drupal
Comment contribuer à DrupalComment contribuer à Drupal
Comment contribuer à Drupal
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
 
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...
Drupal 8 - Découplez votre site grâce à une API afin de mettre à disposition ...
 
Xp Day2009 Modelisation Agile
Xp Day2009 Modelisation AgileXp Day2009 Modelisation Agile
Xp Day2009 Modelisation Agile
 
Bonnes Pratiques Projet Web - Paris Web 2008
Bonnes Pratiques Projet Web - Paris Web 2008Bonnes Pratiques Projet Web - Paris Web 2008
Bonnes Pratiques Projet Web - Paris Web 2008
 
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008
Panorama des bonnes pratiques Web - Francois Nonnenmacher - Paris Web 2008
 
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commercePrésentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
 
Livre blanc améliorez les performances de vos projets web - v1.1
Livre blanc   améliorez les performances de vos projets web - v1.1Livre blanc   améliorez les performances de vos projets web - v1.1
Livre blanc améliorez les performances de vos projets web - v1.1
 
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slidesForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
ForumPHP-2015-drupal-exemple-reussite-projet-communautaire-php_2015-11-24_slides
 
e-commerce Open Source par l'oect.fr
e-commerce Open Source par l'oect.fre-commerce Open Source par l'oect.fr
e-commerce Open Source par l'oect.fr
 
Le projet Tiger à l'EPITA
Le projet Tiger à l'EPITALe projet Tiger à l'EPITA
Le projet Tiger à l'EPITA
 
La gestion des médias dans Drupal 8
La gestion des médias dans Drupal 8La gestion des médias dans Drupal 8
La gestion des médias dans Drupal 8
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09Conference drupagora-drupal-8 2012-11-09
Conference drupagora-drupal-8 2012-11-09
 
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketingPositionner drupal-conference-drupalcamp-lyon-2012-marketing
Positionner drupal-conference-drupalcamp-lyon-2012-marketing
 
Le futur de Drupal et des applications web
Le futur de Drupal et des applications webLe futur de Drupal et des applications web
Le futur de Drupal et des applications web
 
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans DrupalDrupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
Drupagora 2012 - Améliorations ergonomiques pour les contributeurs dans Drupal
 
Case study : 2 applications mobiles réalisées avec Drupal
Case study : 2 applications mobiles réalisées avec DrupalCase study : 2 applications mobiles réalisées avec Drupal
Case study : 2 applications mobiles réalisées avec Drupal
 
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
 

Mehr von Artusamak

On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017Artusamak
 
Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Artusamak
 
Agilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreAgilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreArtusamak
 
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Artusamak
 
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Artusamak
 
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Artusamak
 
Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Artusamak
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Artusamak
 
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Artusamak
 
Contribuer à drupal
Contribuer à drupalContribuer à drupal
Contribuer à drupalArtusamak
 
Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuerArtusamak
 
Drupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseDrupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseArtusamak
 
Drupal commerce nuts and bolts seville
Drupal commerce nuts and bolts   sevilleDrupal commerce nuts and bolts   seville
Drupal commerce nuts and bolts sevilleArtusamak
 
Drupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entitésDrupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entitésArtusamak
 
Drupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushDrupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushArtusamak
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITArtusamak
 
Drupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalDrupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalArtusamak
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersArtusamak
 
Drupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationDrupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationArtusamak
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersArtusamak
 

Mehr von Artusamak (20)

On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
 
Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014
 
Agilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreAgilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendre
 
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
 
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
 
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013
 
Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
 
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
 
Contribuer à drupal
Contribuer à drupalContribuer à drupal
Contribuer à drupal
 
Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuer
 
Drupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseDrupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp Toulouse
 
Drupal commerce nuts and bolts seville
Drupal commerce nuts and bolts   sevilleDrupal commerce nuts and bolts   seville
Drupal commerce nuts and bolts seville
 
Drupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entitésDrupalcamp Nantes - Présentation entités
Drupalcamp Nantes - Présentation entités
 
Drupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushDrupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation Drush
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GIT
 
Drupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalDrupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupal
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 
Drupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationDrupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translation
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 

Drupalcamp Nantes - Traité performance

  • 1. Petit trait´ de performances ` l’usage de tous e a
  • 2. Drupal Petit trait´ de performances ` l’usage de tous e a Int´grateur, architecte, d´veloppeur, tous concern´s e e e Pierre Rineau Makina Corpus pierre.rineau@makina-corpus.com Janvier 2011 MAKINA CORPUS
  • 3. Petite introduction Les causes ´videntes e D´tails et solutions e Et pour finir Synopsis L’API grandissante de Drupal et la multiplication de nouvelles fonctionnalit´s g´n`rent de plus en plus de sites ”´l´phantesques”. La e e e ee r´activit´ d’un site, dans le monde du web, est un domaine critique qui e e concerne tous les intervenants. Travail pr´par´ en amont par le e e d´veloppeur, cet aspect n´c´ssite d’ˆtre pr´sent dans l’esprit de e e e e e l’int´grateur et doit ˆtre maˆ e par les administrateurs syst`me. Cette e e ıtris´ e session ` pour but de pr´senter la toile d’araign´e et les r´actions en chaˆ a e e e ıne provoqu´es dans un contexte ou ces trois rˆles s’ignorent. e o P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 4. Sommaire 1 Petite introduction 2 Les causes ´videntes e 3 D´tails et solutions e 4 Et pour finir
  • 5. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir Qu’est ce que Drupal ? P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 6. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir Qu’est ce que Drupal ? Sur http://drupal.org : Drupal is an open source content management platform powering millions of websites and applications. Sur http://acquia.com/what-is-drupal : Tens of thousands of people and organizations have used Drupal to power scores of different web sites, including community web portals, corporate web sites, social networking sites, personal web sites or blogs, and much more. P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 7. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir Forces mais faiblesses • Tr`s fort dynamisme e • Le hook : alt´ration VS extention e • Un m´tier d´laiss´, r´cup´r´ par les modules e e e e ee • Des utilisation h´t´roclites : blog, e-commerce, social networking e e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 8. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir Le d´veloppeur e • D´veloppe souvent pour un e seul cas d’utilisation • Ne connaˆ pas qui va utiliser ıt son produit • Documente peu P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 9. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir L’int´grateur e • Utilise le travail de multiple d´veloppeurs e • Ne voit que la partie ´merg´e e e de l’iceberg • On lui demande souvent d’ˆtre e architecte logiciel P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 10. Petite introduction Les causes ´videntes e Drupal ? D´tails et solutions e Rˆles et probl´matique o e Et pour finir L’architecte syst`me e • R´cup`re le travail de e e l’int´grateur e • Introduit des contraintes nouvelles, souvent a posteriori • Doit maˆ ıtriser le scaling d’une plateforme parmis tant d’autres P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 11. Petite introduction Les causes ´videntes e ´ Echelle D´tails et solutions e Abstraction Et pour finir L’´chelle d’un module e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 12. Petite introduction Les causes ´videntes e ´ Echelle D´tails et solutions e Abstraction Et pour finir L’abstraction Ce que con¸oit le d´veloppeur : c e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 13. Petite introduction Les causes ´videntes e ´ Echelle D´tails et solutions e Abstraction Et pour finir L’abstraction Ce qu’utilise l’int´grateur : e Le r´sultat ! e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 14. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Le SQL • Drupal, usine ` requˆtes a e • Schema dispers´ et API non centralis´e e e • Des modules contraints au hack P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 15. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Le SQL : des solutions • D´veloppeurs, ´vitez les requˆtes inutiles e e e • D´veloppeurs toujours, utilisez des caches e • Int´grateurs, connaissez les modules! e • Architectes, pensez ` activer les caches a P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 16. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre MySQL Vs. PostgreSQL MySQL, un grand gourmand! PostgreSQL, le poids de l’exp´rience. e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 17. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Cache binaire : concept Normalisation VS S´rialisation e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 18. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Cache binaire : utilit´ e ´ SOULAGER LA BASE DE DONNEE Non sans constraintes, ne pas r´petez les mˆmes erreurs : e e • Pensez aux I/O • Pensez latence P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 19. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Les caches et de le d´veloppeur e La responsabilit´ du d´veloppeur : mettre en place les caches e e • De multiple niveaux : des des caches diff´renti´s e e Plusieurs facteurs de s´paration logique des donn´es : e e • Criticit´ (fr´quence d’acc`s) e e e • Volum´trie (taille des ´l´ments) e ee P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 20. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Les caches et l’architecte La r´sponsabilit´ de l’architecte : bien les utiliser e e • Connaˆ ıtre les diff´rents niveaux e • Et les diff´rents backends e • Criticti´ VS volum´trie, ou e e bien choisir ses backends P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 21. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre G´n´ralit´s et erreurs communes e e e • Parlons un peu des caches statiques • Statiques ou persistents, ne vous substituez jamais au compilateur! • Le cache doit ˆtre au coeur du design de l’application e • Dans certains cas il doit orienter les API • Trop de niveaux de cache dans la mˆme API soul`ve souvent un e e probl`me de design e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 22. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre L’ennemi de l’architecte : l’environnement Linux / Apache / MySQL / PHP • Peu importe l’OS, mˆme probl´matiques e e • Architecture N-tiers de fait • Environnement consommateur en I/O P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 23. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre L’OS • Son goulot d’´tranglement, les I/O e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 24. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Le HTTPd • Son goulot d’´tranglement, le HTTP (et donc les I/O) e • Mais aussi : • La concurence • La m´moire e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 25. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Le SGBD • Maˆ ıtre des donn´es, de leur int´grit´ et coh´rence e e e e • Difficile ` clusteriser a • Une force et faiblesse : le query cache (MySQL seulement) P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 26. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre PHP • Langage interp´t´ : compilation lors de chaque hit e e • Non persistent, d’o` la n´c´ssit´ des caches binaires u e e e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 27. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Comment rendre PHP lightening fast Utilisez un OPCode cache • Enl`ve la phase de compilation et interpr´tation e e • Apporte de nombreuse optimisations De mani`re g´n´rale, divise le temps d’ex´cution approximativement e e e e par 2 P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 28. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre Un OPCode cache : APC Voici un exemple des optimisations possibles. Les chiffres proviennent d’un environnement de d´veloppement, sur la home page d’un site D7 e sans modules. • PHP sans OPcode : 360ms • APC, sans configuration pr´alable : 107ms e • Avec apc.include_once_override et apc.canonicalize et sans apc.stat : 103ms • Avec le cache_bootstrap binaire dans APC : 94ms P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 29. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre L’ennemi du d´veloppeur : le manque de culture e ` • A quasiment chaque probl`me il existe d´ja une solution e e • Un code grandissant n´c´ssite de r´fl´chir e e e e • Un code trop grandissant ne demande qu’` diminuer a • Renseignez vous sur comment la machine comprend votre code • N’ayez jamais peur lire celui des autres ! P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 30. Un GROS goulot : la base de donn´es e Petite introduction La gestion des caches Les causes ´videntes e Connaˆ son ennemi: L’environnement ıtre D´tails et solutions e Connaˆ son ennemi: Les mauvais patterns ıtre Et pour finir Connaˆ son ennemi: Le manque de connaissance ıtre L’ennemi de l’int´grateur : trop de module tue le module e • Plus on est de fou, moins c’est rapide • Pourquoi utiliser un module de 100 000 lignes de code quand 10 suffisent ? • Pensez-vous ` tester les performances durant le d´veloppement ? a e • Savoir d´tecter les incoh´rences e e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 31. Petite introduction Les causes ´videntes e En vrac. . . D´tails et solutions e Le temps. . . Et pour finir Quelques id´es en vrac e • Profilez-vous durant le d´veloppement et l’int´gration (xdebug, e e analyse de code, benchmarks) ? • Analysez-vous l’impact de performance de chaque module ? Si non, faites le ! Vous aurez des surprises.. • Le meilleur ami, de tous, ` tous les niveaux : le benchmark. a • Mais avant tout, quel est le m´tier de votre site ? e P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 32. Petite introduction Les causes ´videntes e En vrac. . . D´tails et solutions e Le temps. . . Et pour finir Ne sachant pas o` le temps allait nous amener u P. Rineau Petit trait´ de performances ` l’usage de tous e a
  • 33. Petite introduction Les causes ´videntes e En vrac. . . D´tails et solutions e Le temps. . . Et pour finir Zi Ende En avant pour des sites toujours plus sexy! Figure: c Jean-Yves Lemoigne P. Rineau Petit trait´ de performances ` l’usage de tous e a