Comment accélérer les sites de développement de Magento 2?

18

J'ai désactivé tous les caches et défini le mode de déploiement sur développement. Donc, mes sites de développement Magento 2 sur toutes les machines sont très lents par rapport aux sites Magento 1.x.

Est-ce normal pour Magento 2?

Quelles sont les configurations serveur et Magento que nous devons utiliser pour les sites de développement Magento 2 afin qu'il ait une vitesse maximale?

Mise à jour:

Sur mac pour le développement local, j'ai pu accélérer le site en désactivant opcache car il y avait un problème de configuration.

codelogn
la source
Installez Redis pour remplacer le cache des fichiers principaux. Et utilisez memcache pour les sessions php. Activez le cache et désactivez les sections de cache que vous ne souhaitez pas activer lorsque vous travaillez sur une tâche particulière. Si vous ne stylisez que le thème, utilisez grunt watch et activez tout le cache. Comment configurer est dans la documentation officielle de magento 2.
obscur
redis est inutile à moins que vous ayez 100k + produits
Claudiu Creanga
Je souffre également d'un lent développement sur PC Windows local. Selon votre expérience, il serait préférable pour moi de commencer le développement local sous Ubuntu ou Linux Mint? et quelle configuration recommandez-vous?
Jai

Réponses:

12

Vous pouvez utiliser cette boîte vagabonde https://github.com/EcomDev/fast-hypernode .

Je l'utilise et c'est assez rapide. En mode développeur avec cache désactivé et xdebug, l'actualisation d'une page dure environ 2 à 3 secondes.

Ou vous pouvez utiliser la boîte vagabonde fournie par magestead: http://www.magestead.com/

  • utilisez php7.
  • utilisez gulp pour générer css et js (plus rapide que grunt). Vous pouvez essayer la configuration déjà construite par snowdog (prête en 2 minutes): https://github.com/SnowdogApps/magento2-frontools
  • utilisez 3 Go de RAM si vous effectuez des tests.
  • désactivez uniquement le cache dont vous avez besoin . Si vous faites du frontend, vous n'avez pas besoin de désactiver le cache.
  • utilisez livereload ou Browsersync pour le développement frontal afin que vous n'ayez pas besoin de recharger les pages.

Comprenez ce que font les commandes magento et quand les exécuter. Si vous en exécutez beaucoup, setup:static-content:deployvous deviendrez fou en voyant ces points. Grunt ou gulp ne connaissent pas @magento_import, c'est pourquoi lorsque vous ajoutez ou supprimez des fichiers que vous devez exécuter, dev:source-theme:deployce qui est beaucoup plus rapide que le précédent .

Ce qui ne s'améliore pas:

À moins que vous ayez plus de 100 000 produits redis ne fait aucune différence, alors ne vous embêtez pas ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- comparaison-dans-différents-environnements.pdf ).

Actuellement, en raison de la façon dont magento2 utilise requirejs (2 Mo de js), http2 ne fait aucune différence non plus.

Claudiu Creanga
la source
Je souffre également d'un lent développement sur PC Windows local. Selon votre expérience, il serait préférable pour moi de commencer le développement local sous Ubuntu ou Linux Mint? et quelle configuration recommandez-vous?
Jai
@Jai désolé, je n'ai pas d'expérience avec Mint. J'utilise mac et ubuntu.
Claudiu Creanga
Monsieur ... Puis-je m'attendre à une bonne vitesse de développement de magento 2 ... si j'utilise Vagrant sur ma fenêtre 7 (i5 + 12 Go de RAM) Ou dois-je aller à Ubuntu avec cette configuration système parce que la fenêtre est frustrante et lente dans le développement
Jai
1
@Jai Windows est ok. Vous devez viser une actualisation de 2 à 3 secondes en mode développeur avec certains des caches activés. vérifiez à quelle vitesse celui-ci est github.com/alankent/docker-gsd sur votre ordinateur et visez cette vitesse. pour vagrant, je recommande hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga
Merci pour votre suggestion. Je vais mettre en œuvre votre recommandation et pensez-vous que le développement de magento peut être fait rapidement dans Ubuntu et Mac par rapport à Windows?
Jai
7

Selon le type de développement que vous envisagez de faire, vous pourriez trouver que le passage à la compilation CSS côté client améliore considérablement la vitesse des sites de développement

Boutiques> Configuration> Avancé> Développeur> Workflow de développement frontal

Passer à la compilation côté client sans

bjornredemption
la source
Ce paramètre semble avoir changé dans Magento 2.2. Des conseils sur où le trouver maintenant?
fritzmg
1
docs.magento.com/m2/ee/user_guide/system/… Je vérifierais si votre site est en mode développeur car il n'est pas visible sinon
bjornredemption
Oui, il n'était pas en mode développeur, merci :)
fritzmg
0

Assurez-vous également que la fusion de JS / CSS est désactivée lorsque, en mode développeur, cela atteint vraiment les performances, les tests montrent que les vitesses peuvent passer de 20 à 30 secondes à 2 à 3 secondes.

Cela peut sembler évident de le faire en mode développeur, mais s'il est manqué, cela peut conduire à un environnement incroyablement lent car j'avais copié un environnement de production vers le bas pour le développer et l'ai manqué pendant un certain temps.

Mise à jour

Cela semble être un problème qui m'affectait dans 2.1.7 à 2.1.9 et semble être corrigé dans Magento 2.2.X

harri
la source
cette information semble fausse. La vitesse ne devrait pas chuter avec la fusion
ladle3000
@ ladle3000 De plus, vous ne voudriez pas vraiment fusionner et réduire en développement, il est tout simplement plus difficile de voir quels fichiers doivent être modifiés pour les modifications CSS / JS de toute façon.
harri
Je vois vos points. Je pense que peut-être parce que j'ai migré directement vers 2.2, je n'ai jamais fait face à cela. Sur quelle version vous?
ladle3000
Cela peut être corrigé maintenant dans 2.2.0 mais semble juste être une étape supplémentaire. J'ai essayé de tester ce matin, mais lorsque j'active en mode développeur, il semble toujours être désactivé? Im sur 2.2.3 maintenant
harri
0

Désactivez les caches suivants afin de ne pas avoir à exécuter les commandes CLI pour vider le cache.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC
rupi
la source
0

La principale raison pour laquelle magento2 est lent en mode développeur est liée à des milliers de fichiers statiques et compilés générés à la volée.

Il existe 3 solutions pour cela:

  • Montez tout le répertoire avec NFS (le SSD est toujours obligatoire).

  • Montez uniquement le répertoire de l'application (quel que soit votre matériel, cela fonctionnera correctement) mais vous perdez l'accès au répertoire / vendor sur votre machine hôte.

  • Montez le projet entier avec rsync et excluez les répertoires où les fichiers sont générés (pub / statique, généré / code etc ...).

Vous pouvez l'essayer ici: https://github.com/zepgram/magento2-fast-vm/

Benjamin Calef
la source
0

Opcache améliore considérablement les performances, n'oubliez pas d'activer la validation de l'horodatage pour éviter d'actualiser le cache lors de la modification des fichiers

opcache.validate_timestamps = On
Choussamaster
la source
-4

Pour augmenter la vitesse de la boutique Magento 2, procédez comme suit:

  • Assurez-vous d'abord que vous avez satisfait à toutes les exigences du système et du serveur.
  • Mettez à jour le Magento vers sa dernière version.
  • Activé le cache de vernis
  • Activé les catégories et produits plats -Optimiser l'image, Javascript et CSS
  • Configurer CDN
  • Utilisez toujours des extensions sans bug et un thème léger.
Syed Muneeb Ul Hasan
la source