Magento Community Edition / Magento Enterprise Edition : comparaison des performances

Publié le 28 décembre 2012 par Xi_ingenierie @Xi_Ingenierie

Référence incontournable sur Magento,  le blog Inchoo a récemment diffusé une synthèse d’un test de performances entre Magento Community Edition (1.6.1.0) et Magento Enterprise Edition (1.12.0.2). Nous vous proposons une version française, avec l’aimable autorisation de Zvonimir Buric, son auteur, et quelques commentaires tirés de nos expériences. Voici donc les résultats, accompagnés d’une explication de la procédure mise en place.

Pour tracer les performances, une modification du fichier index.php a été faite sur  les deux versions de Magento :
$start_time = microtime(true);
ajouté en début de fichier et
echo microtime(true) - $start_time;
ajouté à la fin du fichier.

Cela a permis de mesurer et d’afficher le temps d’exécution pour chaque requête (le temps en secondes est affiché en tant que nombre à virgule flottante).

Le test a été séparé en trois parties. La première consistait à mesurer le temps de réponse pour la page CMS (cms/index/index), la deuxième pour la page catégorie (catalog/category/view/id/5 ) et la troisième pour la page produit (catalog/product/view/id/19).

Magento Community Edition a été testé avec et sans cache. Magento Enterprise Edition a été testé selon trois variantes :

  • cache désactivé
  • cache activé, sauf le Full Page Cache (FPC)
  • tous les caches activés.

Magento Community Edition

Page CMS

Page de catégorie

Fiche produit

Magento Enterprise Edition

Page CMS

Page de catégorie

Fiche produit

Comparaison finale

Page CMS

Page de catégorie

Fiche produit

La comparaison finale reprend le principe des tests précédents, avec l’ensemble des caches activés, à la fois pour l’édition Entreprise et l’édition Community.

Le test a été effectué sur la même machine avec les paquets d’installation par défaut de Magento. Chaque test repose sur 20 requêtes. Les tests ont été automatisés à l’aide de l’outil de test Selenium.

Source : Community vs Enterprise Edition – speed test
Traduit et adapté par Xi Ingénierie

Les commentaires Xi Ingénierie

Ce test très basique est loin de faire le tour des contraintes et optimisations de performance pour Magento. Le protocole est rudimentaire, mais c’est ce qui fait sa force : montrer de façon simple et claire le bénéfice du Full Page Cache (FPC) de Magento Enterprise Edition. Le FPC met de côté les blocs de contenu générés pour chaque page et sert de “raccourci” pour les requêtes suivantes. Résultat, le cœur de Magento ne fait plus de calcul complexe, ni de requêtes inutiles à la base de données.

Une fois en place sur un serveur web bien optimisé et avec des développements qui respectent les bonnes pratiques, les temps de réponse sont très faibles, proche du temps réel pour le visiteur. Les pages sont disponibles pour le navigateur en 50 à 80 ms, le temps restant étant celui que le navigateur met à rendre l’affichage de la page (récupération des images, scripts, feuilles de styles, etc.).

La bonne exploitation du FPC passe par une maîtrise avancée du noyau et des concepts de Magento. Le risque est d’obtenir des contenus obsolètes, voire servis à des visiteurs et clients non concernés. Très ennuyeux quand il s’agit de données personnelles ! Il faut alors définir une vraie politique de gestion du FPC, en fonction des besoins métier et des données exploitées : contenus, mise à jour des caches, purge, mutualisation, charge de génération, etc.

Autre enseignement de ce test : Magento est inexploitable si aucun système de cache n’est activé. Nous le savons depuis longtemps, mais il faut toujours le rappeler. Trop de sites Magento n’exploitent pas encore correctement la gestion du cache proposée par les deux éditions. Le cas le plus courant est celui des fonctions métier codées directement dans les templates des thèmes Magento. Il est alors trop tard pour mettre des contenus en cache… C’est pourquoi certains sites Magento affichent les pages en moins de 0,5 s et d’autres en plus de 30 s !

TAGScacheperformanceCATEGORIES
  • E-commerce
  • Magento