Manuel de la Performance de Magento 2 (caractéristiques prédéfinies, extensions et des conseils différents)

- Magento 2

Magento 2 Performance

Une bonne Performance est un aspect principal d’un projet réussi du commerce électronique. Ce n’est pas seulement important comme un facteur vital du ranking, mais aussi extrêmement apprécié par les clients. Ainsi, une boutique online rapide a fréquemment une meilleure conversion que lesquels lents. Par conséquent, il fait vos visiteurs se transformer en acheteurs et vous aide à augmenter les ventes. Alors, maintenant, quand l’importance de la Performance de Magento 2 est évidente, il est temps de faire la lumière comment l’augmenter dans le cas de la plate-forme.  

Nous avons déjà un manuel détaillé de la productivité de Magento 1.X, cependant la seconde version de la plate-forme diffère beaucoup et en fait demande une autre approche des améliorations de la Performance. Magento 2 est plus vite, demande moins de recours et est mieux optimisé à travailler pendant des charges lourdes que les versions précédentes 1.X. En plus, il offre beaucoup de caractéristique dans la forme prédéfinie. Par exemple, vous obtenez un soutien à Varnish, Redis et Nginx ainsi que  full page caching dans Magento 2. Quant à la nouvelle version de la plate-forme du commerce électronique, toutes les caractéristique n’étaient que disponibles par des personnalisations et extensions différentes.

Bien que Magento 2 fournisse des meilleures opportunités qui se rapportent à la performance, quand même il y a beaucoup de travail à faire avant votre boutique du commerce électronique devient la plus rapide possible. Alors, on va commencer par Nginx.

Soutien Complet à Nginx

how to use nginx with magento 2

Nginx a été développé tenant trois principes essentiels en tête: une performance haute  concurrence haute, utilisation minimale de mémoire. Ainsi, il augmente sensiblement la vélocité de chaque website. Pour administrer des requêtes, Nginx utilise l’approche asynchrone dirigée par les événements pendant que Magento prédéterminé est basé sur une approche orientée à procès avec MPM event comme un modèle du procès asynchrone. Dû à l’architecture dirigée par les événements, Nginx montre une performance plus prévisible même sous conditions de charges lourdes.

Comment nous avons mentionné en haut, Magento 2 offre un soutien natif à cette solution, c’est pourquoi le module peut être facilement installé sur la plate-forme. Pour découvrir comment effectuer cette procédure, recommandons que vous lisiez ce guide de la Configuration de Nginx dans Magento 2. Aussi, Magento 2 possède des configurations recommandée dans le fichier root.

Vous pouvez le trouver su GitHub ici.

Magento 2 et Redis

using redis with magento 2

Redis est un cache clé-valeur avancé que fournit une performance de qualité excellente et offre des caractéristiques comme: incrémenter la valeur dans un hash; pousser un élément à une liste; ajouter à un string; avoir des membres classifiqués avec le ranking plus haut; et l’nteresection.

Il incorpore quelques cas d’utilisation pour jeux de données en mémoire qui sont la raison des résultats formidables de la performance. Ainsi, vous pouvez persister en faisant un vidage le jeu de données à disque ou ajouter chaque commande à log. En plus, si vous avez besoin d’un cache en mémoire et plein de caractéristiques, la persistance peut être désactivée.

Aussi, Redis incorpore la synchronisation non-blocking et auto-reconnexion avec la resynchronisation partiale sur NetSplit. Toutes ces caractéristiques font Redis une solution extrêmement rapide pour chaque website du commerce électronique, en particulier pour une boutique Magento.

Si vous ne savez pas comment installer et utiliser Redis avec la seconde version de la plate-forme populaire du commerce électronique, lisez ce manuel de Magento 2: Configuration de Redis dans Magento 2.

Types Différents de Cache

How to Manage Magento 2 Cache

Magento travaille avec les type de cache suivants:

  • Configuration cache apparaît quand Magento recueille les configurations des modules. Aussi, il inclut des configurations spécifiques de boutique de la base de données et de le système de fichiers.

  • Layout cache inclut layouts compilés de page.

  • Block HTML output cache consiste des fragments de page HTML pour chaque bloc.

  • Collections data cache recueille des interrogations de base de données.

  • DDL cache est désigné pour travailler avec le schéma de base de données.

  • Entity attribute value cache inclut metadonnées qui se rapportent à attributs d’EAV: labels de boutique, attributs rendering, configurations de recherche, etc.

  • Page cache recueille des données des pages HTML générées.

  • Translations cache se rapporte à traductions fusionnées des modules.

  • Integration configuration cache est visé à intégrations compilées.

  • Cache Configuration d’API d’Intégration consiste de APIs compilés d’integration.

  • Web services configuration cache est le cache d’une structure d’API web.

Magento 2 Cache Types

Vous trouver des configurations appropriées, suivant System -> Cache Management. Pour apprendre plus, vous pouvez regarder notre guide: Administration de Cache dans Magento 2.

Full Page Cache (FPC)

Full Page Cache in Magento 2

Full page caching est ainsi puissant dû à la possibilité de conserver les données de sortie de full page dans un cache. Par conséquent, les charges subséquentes de page ne demandes pas beaucoup de charge de serveur. Ainsi, full page caching est obligatoire pour website de trafic haut, puisqu’il rende la charge de serveur la plus base possible et vous aide à éviter le temps d’arrêts (downtime) même quand le trafic est vraiment haut. En plus, en utilisant full page caching, vous augmenterez la vitesse de votre website du commerce électronique, puisque toutes les nécessités de serveur se seront réduites à la récupération et rendering de page du cache.

Si nécessaire, Magento peut vider ce cache dans la façon automatique, mais vous pouvez encore inclure les segments d’un cache dans la forme manuelle. S’il vous plaît, notez que c’est nécessaire vider FPC d’après avoir modifié une niveau de code qui affecte les données de sortie HTML. Toujours gardez ce cache activé, puisqu’il améliore sensiblement la performance de Magento 2.

Varnish Cache

Magento 2 Varnish Guide

Varnish cache est un accélérateur pour APIs vraiment consumés et websites dynamiques avec une contenu lourde. Magento 2 soutienne ce cache dans la forme prédéfinie, alors vous pouvez le facilement configurer pour votre projet du commerce électronique pour augmenter la performance prédéterminée.

Chaque serveur web reçoit des requêtes HTTP, mais ne rend pas immédiatement des réponses HTTP. C’est pourquoi, une séquence longue de pas est requise pour chaque requête.

Multiplié par milliers requêtes, ces pas mène à la surcharge de serveur, la consommation lourde des recours et une diminution considérable de la performance. Malheureusement, le serveur ne se souvient pas des requêtes répétées, mais vous pouvez régler ce problème avec l’aide de Varnish.

Il reçoit les requêtes au lieu de votre serveur web, regarde ce que est requis et l’envoie à votre serveur qui envoie une réponse à Varnish pour le passer à client. Il semble que cette procédure ne diminue que la vélocité du serveur, mais en fait on obsèrve l’augmentation de la performance quand Varnish commence à conserver des réponses de backend dans son cache. Par conséquent, il peut rapidement servir les autres réponses répétées sans nécessité de communiquer avec le serveur de backend.

Quant à Magento 2, ce cache peut être facilement configuré selon les demandes de la plate-forme, suivant STORES > Configuration > ADVANCED > System > Full Page Cache. Pour apprendre plus, regarder notre tutoriel ici Comment Configurer Varnish dans Magento 2.

Varnish cache in Magento 2

Pré-traitement de CSS

CSS Preprocessing in Magento 2

Bien que CSS aie une syntaxe vraiment puissante, il peut facilement s’augmenter à dimensions énormes quand travailles avec des projets extraordinaires. Heureusement, nous pouvons régler ce problème avec l’aide de préprocesseurs de CSS: SASS et LESS. Les deux permettent des avantages additionnelles en offrant une syntaxe améliorée, mais puisque on parle du développement de Magento 2, on va concentrer sur LESS. Ses caractéristiques principales sont:

  • Syntaxe améliorée;

  • Possibilité de définir les variables and mixins;

  • Fonctions Opérationnelles and mathématiques;

  • Associations des Fichiers Multiples.

Si vous ne savez rien de ce préprocesseur CSS, alors faites attention sur la documentation suivante:

Minification de CSS et JS

CSS and JS minification in Magento 2

Dans Magento 2, les procédures de la minifcation de CSS and JS sont presque les mêmes que on a vu dans les versions précédentes – 1.X. En combinant, comprimant et caching les fichiers de Javascript et CSS, vous pouvez améliorer la performance de votre website de Magento 2. Ainsi, ce n’est pas que la question du temps quand les outils appropriés sont disponibles. En plus, on peut effectuer tout toute seule:

Magento 2 CSS and JS minification

Caching des images de Catalogue

Catalog images caching in Magento 2

Magento pré-génère des images rognée de produits dans dimensions différentes pour réduire le traitement de chaque charge de page. Thumbnails sont générés pendant la première charge d’image et peuvent être facilement supprimés.

Génération du Code

Code Generation in Magento 2 2

La génération du Code fournit la possibilité de porter la programmation orientée à aspect, programmation générique et des autres techniques compliquée qui ne sont pas soutenues dans la forme prédéfinie. Par conséquent, vous pouvez améliorer la performance de Magento 2 et ajouter des caractéristiques uniques à la configuration prédéterminée.

Il y a deux manières de déclencher la génération du code dans Magento 2. D’abord, vous pouvez l’effectuer à la volée:

  • Utilisez un nom significatif qui suit un modèle certain pour déclarer une classe.

  • Maintenant, le système doit automatiquement charger la classe. Si il ne peut pas la trouver, alors la classe sera générée.

Malheureusement, cette approche diminue la vitesse du système, alors nous recommandons que vous utilisiez la ligne de commande. En utilisant le commande suivant, vous forcerez le système à examiner le code et générer toutes les classes nécessaires.

Cet approche augmente la vélocité du système, alors elle est bien utile pour la production.

Avec l’assistance de deux approches, vous recevrez classes générées dans MAGENTO_ROOT/var/generation directory.

Pour savoir plus, visite la page de l’article suivant: Introduction à la génération du dans Magento 2.

RequireJS pour améliorer la Performance de JS

How to use RequireJS within Magento 2

Il y a une documentation officielle qui se rapporte à la configuration des recours de JavaScript, mais nous avons concentrer notre attention sur RequireJS. Étant un chargeur de script modulaire, cet outil est optimisé pour l’environnement JS et l’utilisation dans browser; c’est pourquoi, il convient le mieux à Magento. RequireJS est utilisé pour augmenter la qualité du code et la vélocité d’applications. Puisque JavaScript ne fournit pas de manières de spécifier le code requis à exécuter un fichier, RequireJS joue une fonctionne cruciale dans l’amélioration du développement de JS: il spécifie les dépendances entre les fichiers JS et les charger au browser. Cette amélioration mène à une augmentation considérable de la performance, c’est pourquoi nous recommandons que vous lisiez cet article:  Développement Avancé avec RequireJS + Tutoriel de Magento 2.

Gestion de Mémoire (storage) de Session

Session Storage Management in Magento 2

Une autre amélioration de performance se rapporte à la gestion de mémoire de session. Vous pouvez la déplacer des fichiers à la base de données ou Redis. Utilisez la option –session-save avec quelq’un des proposée ci-dessous:

  • db la déplacera à la base de données. C’est nécessaire choisir une stockage de base de données dans le cas d’une base de données groupé.

  • redis la déplacera au backend de Redis.

  • files doit être utilisé pour conserver les données de session dans le système de fichiers.

Nous recommandons vivement que vous conserviez tout dans Redis, puisque Magento 2 le soutienne complètement et vous vous prévenir votre boutique de la dégradation de la performance. Dans cas d’un grand nombre d’usagers les deux votre base de données et le système de fichiers souffrent une diminution dramatique de productivité. Par conséquent, votre website de Magento 2 devient très lent et mène à une expérience terrible d’usager. Ainsi, Redis est une option la plus fiable.

Soutien Prédéfini à CDN

CDN in Magento 2

Puisque Magento 2 fournit aussi le soutien à CDN, media et contenu statique peuvent être chargés de subdomains séparés localisés sur serveurs différents du réseau de CDN. Les options de CDN peuvent être configurées, suivant Stores -> Configuration -> Web.

CDN settings in Magento 2

PHP 7

En plus des nouvelles caractéristiques et améliorations introduites dans PHP 7, nous allons obtenir une langue avec une performance complètement nouvelle. Elle sera plus rapide que laquelle disponible dans 5.X, et Magento 2 le soutiendra totalement. Ainsi, PHP 7 va changer notre perception de la vitesse possible de plates-formes du commerce électronique. Pour avoir une compréhension plus profonde de PHP 7, lisez cet article: PHP 7 –  caractéristiques, date de lancement, rumors; et n’oubliez pas d’examiner un problème actuel connexe à PHP 7 et Magento 2: Problème du Nom de classe de string php7.

PHP 7 in Magento 2

Magento 2 vs Magento 1

Vous pouvez comparer la performance de les deux plates-formes via MageMeter – un service formidable par Inchoo. En regardant l’image ci-dessous, on voit que même la dernière version de Magento 2 beta avec caches désactivés surpasse déjà Magento 1 Enterprise Edition:

Why Magento 2 is better than Magento 1

Extensions de Magento 2

Vous pouvez vérifier notre liste des modules de Magento 2 sur le blog, mais la plate-forme est encore trop jeune à créer un article qui se rapporterait aux extensions de la performance. Nous attendons que tous les modules de performance de Magento 2 replacent leurs ancêtres de Magento 1.X. Full Page cache amélioré, Minification de JS/CSS ,  services de CDN et des autres outils que seront disponible bientôt.

Par exemple, la seconde version de notre extension Control for CloudFlare vous permet de contrôler le système de CloudFlare directement de votre admin Magento. Elle offre une meilleure intégration ainsi que plus de connexions flexibles entre Magento 2 et CloudFlare, comparant avec la première version. Ainsi, nous espérons que les extension de performance de Magento 2 fournisse une meilleure expérience que ses analogue actuels.

Améliorations Générales de Server Side

Bien que la nouvelle version de Magento 2 offre beaucoup d’améliorations comparant avec 1.X, il y même beaucoup de optimisations différentes de performance. Vous pouvez les trouver dans notre Dernier Manuel de Performance de Magento. Vérifiez les liens ci-dessous pour trouver des tutoriels appropriés.

  • OPcache est un module de caching de code désigné pour améliorer laquelle pièce de votre performance de Magento qui se rapporte à PHP. Il utilise la mémoire partagé pour conserver bytecode de script précompilé. Ainsi, OPcache élimine la nécessité que PHP charge et analyse scripts pendant chaque requête. C’est pourquoi, en optimisant les configurations d’OPcache vous pouvez dramatiquement améliorer la performance de votre website Magento 2. Suivez ce lien – OPcache – pour apprendre plus des optimisations.

  • MySQL et alternatives. MySQL correctement configuré est entre les améliorations les plus importantes de la performance de Magento 2. D’abord, il demande la compréhension de votre; après, vous devriez quelles configurations à utiliser. Mais MySQL n’est pas une nécessité, puisqu’il y a deux substitution: MariaDB et Percona. Suivez le lien pour recevoir plus d’information – MySQL.

  • New Relic. Une page lente est toujours une bonne raison à abandonner votre boutique web et jamais revenir d’autre fois. Heureusement, il y a beaucoup d’outils différents de monitoring développés pour identifier le problème en temps approprié; c’est pourquoi nous voudrions vous présenter New Relic. Suivez ce lien – New Relic – pour apprendre plus du module.

Alors, c’était notre petit manuel de la performance de Magento 2. Nous allons le mettre à jour quand nouvelle information est disponible. Pour recevoir plus de conseils sur le développement de Magento 2, vérifiez notre Cookbook. Si vous avez besoin d’autre information importante, alors, visitez cette page: Tout de Magento 2 sur Firebear.

Vous avez quelques pensées sur Magento 2? Ne doutez pas de les partager via commentaires ci-dessous.