Optimiser les performances de Magento
Par Grégoire Genestier le 1 février 2011Cet article est une traduction des principales recommandations du Livre Blanc de Varien au sujet de l’optimisation des performances de Magento.
Planifier, déployer et configurer l’environnement de Magento Enterprise Edition nécessite sans aucun doute d’apporter une grande attention aux moindres détails afin d’en obtenir les meilleures performances. La plate-forme physique, la performance du réseau, la configuration et l’optimisation des différents services ainsi que la configuration avancée de Magento Enterprise Edition jouent tous un rôle important pour aboutir au meilleur rendement possible sur votre configuration spécifique. Ce qui suit est la revue des points essentiels abordés dans le livre blanc de Varien:
• Il est fortement recommandé d’optimiser les configurations Apache et MySQL. Cela peut permettre d’augmenter les performances de 55 à 70%, en particulier sur les pages dynamiques. MySQL et Apache sont en effet configurés par défaut pour utiliser beaucoup moins de ressources que ce qu’un serveur moyen peut désormais fournir, et ne sont par conséquent pas en mesure de prendre en charge un nombre élevé de transactions simultanées. Cela peut conduire à une charge irrégulière du serveur et un comportement général imprévisible.
• L’ajout d’un accélérateur PHP est un autre aspect important de la configuration de l’environnement de Magento Enterprise Edition. eAccelerator affiche de bons résultats avec une augmentation de 40% à 600%. D’après nos tests, APC est encore plus efficace affichant un gain de performance supplémentaire de 15 à 20% par rapport à eAccelerator.
• Activer le cache sur les sites de production est essentiel. La désactivation du cache peut provoquer un ralentissement de l’interface de la boutique d’un facteur de 5 à 6 et une réactivité moindre sous charge.
• Lors de la configuration de Magento Enterprise Edition sur un serveur unique, il est convenable d’utiliser le système de cache par défaut (basé sur le système de fichiers) ou alors APC, qui donne des résultats similaires. Toutefois, en cas d’installation sur des nœuds web multiples, il est préférable d’utiliser memcached. En effet APC et le système de cache par fichiers requièrent une gestion supplémentaire pour synchroniser les données entre les nœuds.
• L’activation de la fonctionnalité Full Page Caching peut améliorer les performances de Magento Enterprise Edition pour toute page avec du contenu statique (page d’accueil ou autres pages CMS). Ainsi, si vous envisagez d’avoir une page d’accueil statique et que vous utilisez plusieurs pages d’arrivée votre site web, il est fortement recommandé d’activer la fonctionnalité Full Page Caching.
• Dans une configuration à serveur unique, il n’est pas nécessaire de modifier le système de stockage de sessions par défaut (système de fichiers), car il donne les meilleurs résultats. Toutefois, dans un environnement en cluster, si l’équilibreur de charge utilisé ne peut pas associer les demandes des clients avec des nœuds web spécifiques, en se basant sur l’adresse IP ou les cookies du client, il peut être nécessaire d’utiliser soit memcached, soit le stockage de sessions en base de données. Le stockage des sessions dans memcached donne des résultats proches de ceux du stockage par défaut (ou légèrement inférieurs, entre 1 et 2%). Le stockage de session en base de données devrait être utilisé dans un environnement de cluster seulement en dernier recours, dans le cas où le stockage memcached ne pourrait pas être utilisé.
• L’installation du module de Compilation de Magento Enterprise Edition et l’activation de la compilation peuvent donner un gain de performances supplémentaire de 10 à 15%.
• Si vous souhaitez installer et configurer le moteur de recherche Apache Solr, il est recommandé d’activer le support du moteur de recherche Solr dans les options de configuration de la recherche catalogue. La qualité de la recherche augmente de façon significative, même dans le cas où le catalogue est peu fourni, et on peut constater un petit gain de performance (pas plus de 25% sur la navigation catalogue et 14% sur la recherche).
• L’utilisation de processeurs multi-cœurs modernes et de disques durs rapides améliore davantage les résultats. Un serveur simple-cœur, de bas niveau, avec un unique disque dur SATA et 4 Go de RAM installés est capable de traiter environ 9 trans/sec lors des tests sur la page d’accueil et jusqu’à 4 trans/sec au cours d’une session client moyenne. Un serveur dual-core avec un disque dur SATA est capable de gérer 18 trans/sec sur page d’accueil et jusqu’à 7 trans/sec pour des tests d’URL de session client, tandis qu’un serveur 8-core avec des disques durs 15K en RAID1 peut gérer 38 trans/sec sur page d’accueil et environ 17 trans/sec pour des tests d’URL de session client, avec des centaines de sessions simultanées, ce qui permet de prendre en charge plus de chargements de pages pour plus de visiteurs.
Magento Enterprise Edition est la première plate-forme Open Source eCommerce basée sur une technologie solide qui vous donne la flexibilité, la configuration, et les performances dont vous avez besoin pour développer un canal en ligne qui répond aux besoins uniques de votre entreprise.
En prêtant attention à ces détails de configuration qui peuvent être très poussés, et avec quelques réglages minutieux, la solidité, stabilité et performances de Magento Enterprise Edition vous donnent les moyens de servir de nombreux clients de façon dense et rentable, tout en vous offrant l’avance nécessaire pour vous différencier de vos concurrents… et rester devant eux !




