SlideShare a Scribd company logo
1 of 66
Performances
Magento
- de la théorie à la pratique -
Frédéric
DE GOMBERT
Directeur e-business chez Smile


@FdeGombert
« mon point fort, si j’en ai
un, c’est la performance.
J’en fais toujours plus que
ce que je dis.
Je produis toujours plus
que ce que je promets…»
Richard nixon
client modeste
La performance
est une préoccupation majeure
  pour tout e-commerçant…
Mais qu’est ce que la performance
          exactement ?
La vitesse de chargement
       d’une page ?
La capacité à absorber de
   gros pics de trafic ?
La capacité à gérer de
très gros catalogues ?
Les trois à la fois ?
La performance est une
     fonctionnalité
Comme toute fonctionnalité, elle doit être :

            •    anticipée
            •    spécifiée
            •    mesurée
            •    révisée
On entend beaucoup de choses
à propos des performances de
         Magento…
Magento                             Magento, c’est pour les
c’est lent!                        petits sites, on peut pas
                                    supporter des gros pics
                                        de trafic avec…




 Il parait que Magento,
 c’est une usine à gaz?

   (en plus c’est du PHP...)




                               J’ai entendu dire que chez Magento,
                                ils faisaient exprès d’avoir un outil
                                 pas trop performant pour vendre
                                          plus de licences…
Alors de quoi est réellement
    capable Magento ?
« Avant, on se moquait de moi… »
« … mais ça, c’était avant… »
Les performances actuelles de la
plateforme n’ont rien à voir avec
      celles de ses débuts.
Historique des avancées de Magento


                                                                                                                                                  EE	
  v1.11	
  
                                                                                                          EE	
  v1.9	
  
                                                                                                           FPC	
  



                                                                                      EE	
  v1.8	
  
                                                                                       SolR	
  
Performances	
  




                                                                                                                                                      CE	
  v1.6	
  

                                            CE	
  v1.3	
  
                                              Flat	
  
                                            catalog	
  
                                                                                                                                CE	
  v1.5	
  
                         CE	
                                                                                                    FPC	
  
                        V1.0	
  
                                                                  Magento	
  
                                                                 Entreprise	
  




                   mars	
  2008	
          avril	
  2009	
     décembre	
  2009	
     avril	
  2010	
     février	
  2011	
     mai	
  2011	
            août	
  2011	
     avril	
  2012	
  


                                                                                          Temps	
  
Pour en avoir le cœur net,
nous avons lancée une grande
    campagne de tests…
Objectif : tester la survie de
     Magento dans un
environnement « extrême »
Voici les résultats pour
      un serveur :
41
pages par seconde
13 423
mises au panier par
       heure
121
Commandes
 par heure
1 525 200
Visites par mois
Pour une plateforme à 20 frontaux
(limite théorique observée pour une seule base de données)
28 M
De Visiteurs par mois
22 M€
De CA mensuel
Pour un panier moyen de 20€
112 M€
De CA mensuel
Pour un panier moyen de 100€
« moi je ne crois que
ce que je vois… »
Saint thomas
client exigeant
2 enjeux principaux :
-    Réduire au maximum la charge sur les
     frontaux Magento

-    Conserver un temps de réponse
     stable, quelque soit la distance de
     l’internaute avec le centre
     d’hébergement
MISSION #1 :

Réduire la charge par
      frontal
Moins de charge sur les frontaux
              =
       Moins de serveurs
il faut une (bonne)

stratégie de cache
Le FPC de Magento
 est intéressant sur le papier mais
possède deux limites structurelles…
Il nécessite un accès aux
 frontaux Magento pour
      fonctionner…

 (et au moins 20 appels à MySQL)
… et il ne permet pas de faire
     du cache par blocs.
Avec un peu d’AJAX
  on va pouvoir extraire les
     fragments de page
ne pouvant être mis en cache
Avec VARNISH
on met l’ensemble des pages en
             cache
Conclusion #1


 +     = 80%
         de poussière
         DE charge absorbée
Varnish se rafraichit grâce à un

            TTL
          (Time To Live)
Le cache est donc mis à jour
      périodiquement
Dans certains cas,
c’est un problème !
Animation front-office
     soutenue
Multitude de règles impactant
   le TTL de chaque page
Nécessité de faire communiquer
des évènements Magento avec
            Varnish
VARNIGENTO
MISSION #2

  Conserver un temps de
chargement identique ou que
     soit l’internaute
Le recours à un CDN
       est une bonne pratique
pour un site à dimension internationale
Ce qu’on met dans un CDN :
      •    Images
      •    Vidéos
      •    Javascript
      •    CSS
      •    Blocs HTML
Conclusion #2

   Les cdn permettent de réduire
significativement la latence induite
           par la distance
« Pour ce qui est de
l’avenir, il ne s’agit
pas de le prévoir
mais de le rendre
possible.»
Saint-Exupéry
client ambitieux
Un bon indicateur de la
performance d’une solution est

   sa scalabilité
La scalabilité est la capacité
d’une plateforme a être étendue
      pour s’adapter à une
    augmentation de trafic
On distingue deux types de
         scalabilité
La scalabilité horizontale
La scalabilité verticale
Pas de problème de scalabilité
 pour les frontaux Magento…
…mais il y a un maillon faible!
Et si on imaginait un Magento
           (presque)

       sans MySQL ?
NOSQL
 (not only SQL)
Avec NoSQL,
plus de problèmes de scalabilité
          horizontale
Et surtout …
Plus de modèle



EAV
MongoGENTO
« La réponse est oui.
Mais quelle était la
question ?»
Woody allen
client peu contrariant

More Related Content

Similar to Performances Magento - De la théorie à la pratique

Piloter Magento avec OpenERP by Anybox (1)
Piloter Magento avec OpenERP by Anybox (1)Piloter Magento avec OpenERP by Anybox (1)
Piloter Magento avec OpenERP by Anybox (1)Odoo
 
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp FrTk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp FrValtech
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Claude Coulombe
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Montreal JUG
 
Lilie - l'ENT de la Région Ile-de-France
Lilie - l'ENT de la Région Ile-de-FranceLilie - l'ENT de la Région Ile-de-France
Lilie - l'ENT de la Région Ile-de-FranceStefane Fermigier
 
Connecteur eZ Publish/ Magento
Connecteur eZ Publish/ MagentoConnecteur eZ Publish/ Magento
Connecteur eZ Publish/ MagentoInterakting
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
Nantes jug 2018 - Java le changement c'est maintenant
Nantes jug 2018 - Java le changement c'est maintenantNantes jug 2018 - Java le changement c'est maintenant
Nantes jug 2018 - Java le changement c'est maintenantJean-Michel Doudoux
 
Magento 2 : au-delà du changement de version, un changement de paradigme ?
Magento 2 : au-delà du changement de version, un changement de paradigme ?Magento 2 : au-delà du changement de version, un changement de paradigme ?
Magento 2 : au-delà du changement de version, un changement de paradigme ?The e-Commerce Academy
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGCh'ti JUG
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleKaliop-slide
 

Similar to Performances Magento - De la théorie à la pratique (20)

Piloter Magento avec OpenERP by Anybox (1)
Piloter Magento avec OpenERP by Anybox (1)Piloter Magento avec OpenERP by Anybox (1)
Piloter Magento avec OpenERP by Anybox (1)
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp FrTk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
Tk08 Silverlight Une Cure De Jouvence Pour Vos Applications Asp Fr
 
Flex & Java @ TourJUG
Flex & Java @ TourJUGFlex & Java @ TourJUG
Flex & Java @ TourJUG
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011
 
Lilie - l'ENT de la Région Ile-de-France
Lilie - l'ENT de la Région Ile-de-FranceLilie - l'ENT de la Région Ile-de-France
Lilie - l'ENT de la Région Ile-de-France
 
Connecteur eZ Publish/ Magento
Connecteur eZ Publish/ MagentoConnecteur eZ Publish/ Magento
Connecteur eZ Publish/ Magento
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
Nantes jug 2018 - Java le changement c'est maintenant
Nantes jug 2018 - Java le changement c'est maintenantNantes jug 2018 - Java le changement c'est maintenant
Nantes jug 2018 - Java le changement c'est maintenant
 
Flex & Java @ NormandieJUG
Flex & Java @ NormandieJUGFlex & Java @ NormandieJUG
Flex & Java @ NormandieJUG
 
Java Fx Rapport
Java Fx RapportJava Fx Rapport
Java Fx Rapport
 
Magento 2 : au-delà du changement de version, un changement de paradigme ?
Magento 2 : au-delà du changement de version, un changement de paradigme ?Magento 2 : au-delà du changement de version, un changement de paradigme ?
Magento 2 : au-delà du changement de version, un changement de paradigme ?
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationale
 
Do you speak technique ?
Do you speak technique ?Do you speak technique ?
Do you speak technique ?
 

Performances Magento - De la théorie à la pratique