BARGENTO 2014 
conférence 
Matthieu BOUCHOT 
Expert Magento 
matthieu.bouchot@ecommerce-academy.fr 
Pourquoi & est-ce vrai...
Le centre 
e-Commerce 
de référence
@ecommerce_acdmy 
MÉTIERS 
Devenir e-Commerçant 
Gestion & pilotage 
Webmarketing | Ergonomie 
Référencement 
Google Adwor...
intervenant 
EXPERT MAGENTO 
Tél. 01 45 63 19 89 
mbo@acd.my
BARGENTO 2014! 
atelier 
Pourquoi 
& est-ce vrai que 
MAGENTO 1.x! 
est considéré comme 
une plateforme 
LOURDE ?!
MAGENTO 1.x : une plateforme lourde ? 
Lourd e u r d ’ u n e a p p l i c a t i o n 
Indicateurs de mesures : 
• volume de ...
MAGENTO 1.x : une plateforme lourde ? 
Définition de MAGENTO 
MAGENTO est : 
• une plateforme e-Commerce 
• un socle techn...
MAGENTO 1.x : une plateforme lourde ? 
C o m p a r a t i f e n t re MAGENTO CE & EE 
MAGENTO CE & EE partagent : 
• le mêm...
MAGENTO 1.x : une plateforme lourde ? 
Volume s de sourc e s 
Nombre de modules 
65 
Nombre de fichiers (sans var et media...
MAGENTO 1.x : une plateforme lourde ? 
I n d i c a t e u r s b a s e d e d o n n é e s 
Base de données MySQL : 
• 341 tab...
MAGENTO 1.x : une plateforme lourde ? 
S t r u c t u re d e l ’ a p p l i c a t i o n 
Magento est une plateforme modulair...
BARGENTO 2014! 
atelier 
1er point 
bilan!
MAGENTO 1.x : une plateforme lourde ? 
P re m i e r p o i n t b i l a n 
Volume de sources/structure BDD 
 
Structure de l...
MAGENTO 1.x : une plateforme lourde ? 
Schéma workflow technique MAGENTO
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p ro t o c o l e ( 2 p a r t i e s ) 
Techniq...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p é r i m è t re d ’ é t u d e 
Sur les pages...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : c o n t e x t e d ’ é t u d e 
Version de l’e...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p a g e d ’ a c c u e i l
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e d ’ a c c u e i l 
...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p a g e c a t é g o r i e
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e c a t é g o r i e 
...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p a g e p ro d u i t
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e p ro d u i t 
Temps...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : p a g e p a n i e r
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e p a n i e r 
Temps ...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : a c t i o n a j o u t e r a u p a n i e r
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s a c t i o n a j o u t e r a...
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : a c t i o n s a u v e g a rde de commande
MAGENTO 1.x : une plateforme lourde ? 
É t u d e d e p e r f o r m a n c e : m é t r i q u e s a c t . sauv. de commande 
...
BARGENTO 2014! 
atelier 
2e point 
bilan!
MAGENTO 1.x : une plateforme lourde ? 
S e c o n d p o i n t b i l a n 
Moyenne classes chargées (en unité) 
400 
Moyenne ...
MAGENTO 1.x : une plateforme lourde ? 
La ré-indexation dans MAGENTO 
La ré-indexation MAGENTO a pour particularité : 
• d...
MAGENTO 1.x : une plateforme lourde ? 
M é t r i q u e s r é - i n d e x a t i o n 
catalog_product_attribute (en sec.) 
1...
MAGENTO 1.x : une plateforme lourde ? 
Pourq u o i e s t - c e s i l o n g / l e n t ? 
• ajout de colonnes (tables flat) ...
MAGENTO 1.x : une plateforme lourde ? 
S t r a t é g i e d u « t o u t o u r i e n » 
Hors E.E. 1.13, MAGENTO n’indexe que...
MAGENTO 1.x : une plateforme lourde ? 
I m p a c t d e s i n d e x e s 
locks des tables et des enregistrements 
deadlocks...
MAGENTO 1.x : une plateforme lourde ? 
Vue s maga s ins  Cus tome r group ? 
L’ajout de vues magasins non contrôlé impacte...
BARGENTO 2014! 
atelier 
3e point 
bilan!
MAGENTO 1.x : une plateforme lourde ? 
Tro i s i ème po i n t bi l a n 
Les problèmes connus de MAGENTO sont donc : 
• lim...
MAGENTO 1.X : une plateforme lourde ? 
Conclusion 
MAGENTO est donc reconnue et avérée comme 
étant une plateforme lourde ...
Interrogez 
directement 
notre expert ! 
stand 15 
Matthieu BOUCHOT 
matthieu.bouchot@ecommerce-academy.fr
Prochain SlideShare
Chargement dans…5
×

Pourquoi & est-ce vrai que Magento 1.x est considéré comme une plateforme lourde ?

1 537 vues

Publié le

Retrouvez le support de présentation utilisé par notre expert Magento, Matthieu Bouchot, lors de l'atelier que l'e-Commerce Academy a tenu sur l'édition 2014 du salon Bargento.

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 537
Sur SlideShare
0
Issues des intégrations
0
Intégrations
989
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Pourquoi & est-ce vrai que Magento 1.x est considéré comme une plateforme lourde ?

  1. 1. BARGENTO 2014 conférence Matthieu BOUCHOT Expert Magento matthieu.bouchot@ecommerce-academy.fr Pourquoi & est-ce vrai que MAGENTO 1.x est considéré comme une plateforme LOURDE ?
  2. 2. Le centre e-Commerce de référence
  3. 3. @ecommerce_acdmy MÉTIERS Devenir e-Commerçant Gestion & pilotage Webmarketing | Ergonomie Référencement Google Adwords | Analytics SOLUTIONS Magento Prestashop Drupal Commerce Oxid eSales RBS Change
  4. 4. intervenant EXPERT MAGENTO Tél. 01 45 63 19 89 mbo@acd.my
  5. 5. BARGENTO 2014! atelier Pourquoi & est-ce vrai que MAGENTO 1.x! est considéré comme une plateforme LOURDE ?!
  6. 6. MAGENTO 1.x : une plateforme lourde ? Lourd e u r d ’ u n e a p p l i c a t i o n Indicateurs de mesures : • volume de sources • facilité d’apprentissage • structure de l’application • temps d’exécution global • ratio temps d’exécution technique/temps d’exécution métier • problèmes connus ? BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  7. 7. MAGENTO 1.x : une plateforme lourde ? Définition de MAGENTO MAGENTO est : • une plateforme e-Commerce • un socle technique (presque) autonome MAGENTO n’est pas : • un CMS • une application Zend Framework Solution existante depuis mars 2008 Actuellement en version 1.9.0.1 9 versions majeures en édition CE BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  8. 8. MAGENTO 1.x : une plateforme lourde ? C o m p a r a t i f e n t re MAGENTO CE & EE MAGENTO CE & EE partagent : • le même socle technique • les mêmes modules core (Mage_) MAGENTO EE a en plus : • des modules (fonctionnalités) supplémentaires • support éditeur BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  9. 9. MAGENTO 1.x : une plateforme lourde ? Volume s de sourc e s Nombre de modules 65 Nombre de fichiers (sans var et media) 13091 Nombre de dossiers (sans var et media) 4866 Implémentation PHP > 5.2 POO et Pattern MVC Nombre de classes total 7187 • dont core Magento 4503 • dont librairies 2653 • dont Zend Framework 2380 Nombre de lignes de code • dont core Magento • dont librairies • dont Zend Framework 1.321.898 740.629 578.791 494.165 BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  10. 10. MAGENTO 1.x : une plateforme lourde ? I n d i c a t e u r s b a s e d e d o n n é e s Base de données MySQL : • 341 tables • 3006 colonnes • 450 contraintes d’intégrité (foreign keys) • 723 indexes • utilisation de l’EAV (sur certaines entités) BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  11. 11. MAGENTO 1.x : une plateforme lourde ? S t r u c t u re d e l ’ a p p l i c a t i o n Magento est une plateforme modulaire assurant un maximum de découplage entre composants, de plus, la structure des modules est rigoureuse et ne laisse pas de place au hasard. Vue macro des modules Structure d’un module
  12. 12. BARGENTO 2014! atelier 1er point bilan!
  13. 13. MAGENTO 1.x : une plateforme lourde ? P re m i e r p o i n t b i l a n Volume de sources/structure BDD Structure de l’application Facilité d’apprentissage D’un point de vue structurel, la plateforme est donc lourde mais offre en contrepartie : • beaucoup de fonctionnalités • un socle technique robuste BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  14. 14. MAGENTO 1.x : une plateforme lourde ? Schéma workflow technique MAGENTO
  15. 15. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p ro t o c o l e ( 2 p a r t i e s ) Technique Magento (incluant) • chargement des fichiers de classes (autoload) • chargement de configuration • chargement des blocks en mémoire (LoadLayout) • traversée de la couche routage • calcul des traductions • calcul des chemins des ressources (template/layout/skin) avec le fallback Fonctionnel Magento (incluant) • chargement des entités que l’on souhaite récupérer/afficher • sauvegarde d’entité que l’on souhaite mettre à jour • affichage
  16. 16. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p é r i m è t re d ’ é t u d e Sur les pages/actions suivantes : • home page • page catégorie • page produit • page panier • action ajout au panier • action sauvegarde de commande BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  17. 17. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : c o n t e x t e d ’ é t u d e Version de l’environnement MAGENTO 1.9 CE Nombre de vues magasins 3 (FR, EN, DE) Catégories 1k Produits 500k Clients 1M Commandes 200k Caches actifs ? Oui Indexes flats actifs ? Oui Réf. Machine de test Core i5 2,4Ghz Ram 4Go HD 1To : 5400rpm BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  18. 18. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p a g e d ’ a c c u e i l
  19. 19. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e d ’ a c c u e i l Temps total d’exécution en sec. 0,71 Nombre de requêtes SQL 58 Volume d’entrées de caches lues en Ko 83 Volume de données lues en Ko 1055 Autoload de classes (en sec.) 0,16 0,25 Nombre de classes chargées 381 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,14 0,053 Chargement des blocks en mémoire (en sec.) 0,1 Chargement des templates/layouts/skins (en sec.) 0,007 Traductions (en sec.) 0,003 Temps de traitement métier (controller) en sec. 0,02 Temps de traitement vue (affichage block) en sec. 0,160,18 Métriques générales Métriques techniques Métriques métiers
  20. 20. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p a g e c a t é g o r i e
  21. 21. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e c a t é g o r i e Temps total d’exécution en sec. 0,70 Nombre de requêtes SQL 43 Volume d’entrées de caches lues en Ko 55 Volume de données lues en Ko 1055 Autoload de classes (en sec.) 0,18 0,26 Nombre de classes chargées 336 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,15 0,064 Chargement des blocks en mémoire (en sec.) 0,1 Chargement des templates/layouts/skins (en sec.) 0,014 Traductions (en sec.) 0,003 Temps de traitement métier (controller) en sec. 0,014 Temps de traitement vue (affichage block) en sec. 0,160,18 Métriques générales Métriques techniques Métriques métiers
  22. 22. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p a g e p ro d u i t
  23. 23. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e p ro d u i t Temps total d’exécution en sec. 0,82 Nombre de requêtes SQL 49 Volume d’entrées de caches lues en Ko 121 Volume de données lues en Ko 1064 Autoload de classes (en sec.) 0,18 0,21 Nombre de classes chargées 418 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,12 0,048 Chargement des blocks en mémoire (en sec.) 0,08 Chargement des templates/layouts/skins (en sec.) 0,011 Traductions (en sec.) 0,003 Temps de traitement métier (controller) en sec. 0,11 Temps de traitement vue (affichage block) en sec. 0,120,23 Métriques générales Métriques techniques Métriques métiers
  24. 24. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : p a g e p a n i e r
  25. 25. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s p a g e p a n i e r Temps total d’exécution en sec. 0,85 Nombre de requêtes SQL 55 Volume d’entrées de caches lues en Ko 70 Volume de données lues en Ko 1094 Autoload de classes (en sec.) 0,18 0,18 Nombre de classes chargées 424 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,13 0,05 Chargement des blocks en mémoire (en sec.) 0,04 Chargement des templates/layouts/skins (en sec.) 0,005 Traductions (en sec.) 0,003 Temps de traitement métier (controller) en sec. 0,44 Temps de traitement vue (affichage block) en sec. 0,090,53 Métriques générales Métriques techniques Métriques métiers
  26. 26. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : a c t i o n a j o u t e r a u p a n i e r
  27. 27. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s a c t i o n a j o u t e r a u p a n i e r Temps total d’exécution en sec. 0,74 Nombre de requêtes SQL 51 Volume d’entrées de caches lues en Ko 107 Volume de données lues en Ko 845 Autoload de classes (en sec.) 0,18 0,17 Nombre de classes chargées 321 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,17 0,07 Chargement des blocks en mémoire (en sec.) NA Chargement des templates/layouts/skins (en sec.) NA Traductions (en sec.) 0 Temps de traitement métier (controller) en sec. 0,53 Temps de traitement vue (affichage block) en sec. NA0,53 Métriques générales Métriques techniques Métriques métiers
  28. 28. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : a c t i o n s a u v e g a rde de commande
  29. 29. MAGENTO 1.x : une plateforme lourde ? É t u d e d e p e r f o r m a n c e : m é t r i q u e s a c t . sauv. de commande Métriques générales Temps total d’exécution en sec. 3,5 Nombre de requêtes SQL 112 Volume d’entrées de caches lues en Ko 69 Volume de données lues en Ko 845 Autoload de classes (en sec.) 0,2 0,22 Nombre de classes chargées 437 Temps jusqu’à l’éxecution de l’action (en sec.) • dont chargement de configuration (en sec.) 0,22 0,06 Chargement des blocks en mémoire (en sec.) 0,003 Chargement des templates/layouts/skins (en sec.) 0 Traductions (en sec.) 0 Temps de traitement métier (controller) en sec. 2,9 Temps de traitement vue (affichage block) en sec. 0,082,98 Métriques techniques Métriques métiers
  30. 30. BARGENTO 2014! atelier 2e point bilan!
  31. 31. MAGENTO 1.x : une plateforme lourde ? S e c o n d p o i n t b i l a n Moyenne classes chargées (en unité) 400 Moyenne temps d’exécution (en sec.) 1s Moyenne ratio exé. Techniques/exé. Métier (en %) 35% Moyenne requêtes SQL (en unité) 60 Moyenne volume de données manipulées (en Mo) 1Mo Magento peut-être considéré comme une plateforme lourde à cause de son overhead de temps d’exécution, en revanche, c’est quasiment un temps constant sur toutes les pages. Il conviendra donc d’être vigilant pour vérifier si des temps de chargements sont anormalement longs, cela proviendrait de développements spécifiques ou modules communautaires mal conçus/implémentés. BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  32. 32. MAGENTO 1.x : une plateforme lourde ? La ré-indexation dans MAGENTO La ré-indexation MAGENTO a pour particularité : • de ne s’appliquer qu’aux entités catalogue (produits/catégories) nativement • d’être nécessaire pour le bon affichage des données sur le front • de devoir être lancée après chaque import catalogue • d’accélérer les traitements en lecture côté front • de permettre l’agrégation de données (ex. promotion catalogue)
  33. 33. MAGENTO 1.x : une plateforme lourde ? M é t r i q u e s r é - i n d e x a t i o n catalog_product_attribute (en sec.) 1550 catalog_product_price (en sec.) 840 catalog_url (en sec.) 18000 catalog_product_flat (en sec.) 7160 catalog_category_flat (en sec.) 7 catalog_category_product (en sec.) 10000 catalogsearch_fulltext (en sec.) 5400 cataloginventory_stock (en sec.) 220 Bilan : une estimation entre 10h et 15h est nécessaire pour une ré-indexation totale
  34. 34. MAGENTO 1.x : une plateforme lourde ? Pourq u o i e s t - c e s i l o n g / l e n t ? • ajout de colonnes (tables flat) • combinaisons pouvant être « explosives » Indexe de prix Nombre de produits X nombre de groupes clients X nombre de websites Flat + Inventory + Category / Product + Product attribute Nombre de produits ou catégories X nombre de websites • locks au moment d’écrire dans les tables d’index (surtout pour les gros volumes) BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  35. 35. MAGENTO 1.x : une plateforme lourde ? S t r a t é g i e d u « t o u t o u r i e n » Hors E.E. 1.13, MAGENTO n’indexe que : • produit par produit (en mode automatique) • en ré-indexation totale Pas de ré-indexation partielle ! BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  36. 36. MAGENTO 1.x : une plateforme lourde ? I m p a c t d e s i n d e x e s locks des tables et des enregistrements deadlocks possibles Ralentissements liés à des slow queries import produits long 1 2 3 BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  37. 37. MAGENTO 1.x : une plateforme lourde ? Vue s maga s ins Cus tome r group ? L’ajout de vues magasins non contrôlé impacte : • combinatoire excessive sur les tables d’index (rallongement de l’indexation) • rechargement très couteux de la configuration L’ajout de groupes clients non contrôlé impacte : • combinatoire excessive sur la table d’index des prix BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  38. 38. BARGENTO 2014! atelier 3e point bilan!
  39. 39. MAGENTO 1.x : une plateforme lourde ? Tro i s i ème po i n t bi l a n Les problèmes connus de MAGENTO sont donc : • limitation sur le nombre de vues magasins • gestion des indexes qui bride les imports produits • limitation sur le nombre de groupes clients BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  40. 40. MAGENTO 1.X : une plateforme lourde ? Conclusion MAGENTO est donc reconnue et avérée comme étant une plateforme lourde car : • exigeante techniquement • contient beaucoup de traitements techniques spécifiques (pas forcément utile) • à des problèmes connus très gênants concernant les imports produits Cependant, le fait que ce soit une plateforme lourde ne permet pas de justifier systématiquement que cela soit la cause principale de problèmes de performances. BARGENTO!2014!–!E/COMMERCE!ACADEMY!
  41. 41. Interrogez directement notre expert ! stand 15 Matthieu BOUCHOT matthieu.bouchot@ecommerce-academy.fr

×