Wie mache ich Magento 2-Entwicklungssites schnell?


18

Ich habe alle Caches deaktiviert und den Bereitstellungsmodus auf Entwicklung gesetzt. Daher sind meine Magento 2-Entwicklungssites auf allen Computern im Vergleich zu Magento 1.x-Sites sehr langsam.

Ist es normal für Magento 2?

Welche Server- und Magento-Konfigurationen müssen für Magento 2-Entwicklungsstandorte verwendet werden, damit die maximale Geschwindigkeit erreicht wird?

Aktualisieren:

Auf dem Mac für die lokale Entwicklung konnte ich die Site beschleunigen, indem ich den Opcache deaktivierte, da Konfigurationsprobleme auftraten.


Installieren Sie Redis, um den Backend-Dateicache zu ersetzen. Und benutze memcache für PHP-Sessions. Aktivieren Sie den Cache und deaktivieren Sie die Cache-Abschnitte, die bei der Arbeit an einer bestimmten Aufgabe nicht aktiviert werden sollen. Wenn Sie nur das Thema stylen, verwenden Sie grunt watch und aktivieren Sie den gesamten Cache. Die Konfiguration erfolgt in der offiziellen Dokumentation zu Magento 2.
dunkel

Redis ist nutzlos, es sei denn, Sie haben 100k + Produkte
Claudiu Creanga

Ich leide auch an einer langsamen Entwicklung auf einem lokalen Windows-PC. Wäre es Ihrer Erfahrung nach besser für mich, wenn ich mit der lokalen Entwicklung in Ubuntu oder Linux Mint beginne? und welche konfiguration empfehlen sie?
Jai

Antworten:


12

Sie können diese vagabundierende Box https://github.com/EcomDev/fast-hypernode verwenden .

Ich benutze es und es ist ziemlich schnell. Im Entwicklermodus mit deaktiviertem Cache und xdebug dauert eine Seitenaktualisierung ca. 2-3 Sekunden.

Oder Sie können die von magestead bereitgestellte Vagabundkiste verwenden: http://www.magestead.com/

  • benutze php7.
  • Verwenden Sie gulp, um CSS und JS zu generieren (schneller als grunzen). Sie können die bereits erstellte Konfiguration von snowdog ausprobieren (fertig in 2 Minuten): https://github.com/SnowdogApps/magento2-frontools
  • Verwenden Sie 3 GB RAM, wenn Sie Tests durchführen.
  • Deaktivieren Sie nur den Cache, den Sie benötigen . Wenn Sie das Frontend verwenden, müssen Sie keinen Cache deaktivieren.
  • Verwenden Sie Livereload oder Browsersync für die Frontend-Entwicklung, damit Sie die Seiten nicht neu laden müssen.

Verstehe, was Magento-Befehle tun und wann sie ausgeführt werden müssen. Wenn Sie viel laufen, werden setup:static-content:deploySie verrückt, wenn Sie diese Punkte sehen. Grunzen oder Schlucken wissen nichts über @magento_import. Wenn Sie also Dateien hinzufügen oder entfernen, müssen Sie sie ausführen, dev:source-theme:deploywas viel schneller ist als das oben beschriebene.

Was verbessert sich nicht:

Sofern Sie über 100k Produkte haben Redis macht keinen Unterschied so nicht stören ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- Vergleich in verschiedenen Umgebungen.pdf ).

Aufgrund der Verwendung von requirejs (2mb von js) durch magento2 macht http2 derzeit ebenfalls keinen Unterschied.


Ich leide auch an einer langsamen Entwicklung auf einem lokalen Windows-PC. Wäre es Ihrer Erfahrung nach besser für mich, wenn ich mit der lokalen Entwicklung in Ubuntu oder Linux Mint beginne? und welche konfiguration empfehlen sie?
Jai

@ Jai sorry, habe keine Erfahrung mit Mint. Ich benutze Mac und Ubuntu.
Claudiu Creanga

Sir ... Kann ich erwarte gute Entwicklungsgeschwindigkeit von magento 2 ... wenn ich Vagrant verwende auf meinem Fenster 7 (i5 + 12 Gb Ram) oder soll ich gehen zu ubuntu mit dieser Systemkonfiguration , weil Fenster frustrierend langsam in Entwicklung ist
Jai

1
@ Jai Windows ist in Ordnung. Im Entwicklermodus sollte eine Aktualisierung von 2-3 Sekunden angestrebt werden, wobei einige Caches aktiviert sind. Überprüfen Sie, wie schnell dieser github.com/alankent/docker-gsd auf Ihrem Computer ist, und streben Sie diese Geschwindigkeit an. Für Landstreicher empfehle ich hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga

Danke für Ihren Vorschlag. Ich werde Ihre Empfehlung umsetzen und sind Sie der Meinung, dass die Entwicklung von Magento in Ubuntu und Mac im Vergleich zu Windows schnell gehen kann?
Jai

7

Abhängig von der Art der Entwicklung, die Sie planen, kann der Wechsel zur clientseitigen CSS-Kompilierung die Geschwindigkeit der Entwicklungssites erheblich verbessern

Informationsspeicher> Konfiguration> Erweitert> Entwickler> Front-End-Entwicklungsworkflow

Wechseln Sie zur clientseitigen Kompilierung


Diese Einstellung scheint sich in Magento 2.2 verschoben zu haben. Gibt es Hinweise, wo Sie es jetzt finden?
Freitag,

1
docs.magento.com/m2/ee/user_guide/system/… Ich würde prüfen, ob sich Ihre Website im Entwicklermodus befindet, da sie nicht sichtbar ist, wenn nicht
bjornredemption 22.12.17

Ja, es war nicht im Entwicklermodus, danke :)
fritzmg

0

Stellen Sie außerdem sicher, dass das Zusammenführen von JS / CSS deaktiviert ist, wenn dies im Entwicklermodus die Leistung beeinträchtigt. Tests haben ergeben, dass die Geschwindigkeit von 20 bis 30 Sekunden auf 2 bis 3 Sekunden sinken kann.

Es mag naheliegend erscheinen, dies im Entwicklermodus zu tun, aber wenn ich es verpasse, kann dies zu einer unglaublich langsamen Umgebung führen, da ich eine Produktionsumgebung kopiert habe, um sie weiterzuentwickeln, und dies für eine Weile verpasst habe.

Aktualisieren

Dies scheint ein Problem zu sein, das mich in 2.1.7 bis 2.1.9 betroffen hat und das in Magento 2.2.X behoben zu sein scheint


Diese Information scheint falsch zu sein. Die Geschwindigkeit sollte nicht mit dem Zusammenführen sinken
ladle3000 06.04.18


@ ladle3000 Auch wenn Sie in der Entwicklung nicht wirklich zusammenführen und minimieren möchten, ist es ohnehin schwieriger zu erkennen, welche Dateien für CSS / JS-Änderungen geändert werden müssen.
Harri

Ich sehe deine Punkte. Ich denke, vielleicht, weil ich direkt auf 2.2 migriert bin, habe ich das nie erlebt. Auf welcher Version bist du?
ladle3000

Dies kann jetzt in 2.2.0 behoben werden, scheint aber nur ein zusätzlicher Schritt zu sein. Ich habe heute Morgen versucht zu testen, aber wenn ich im Entwicklermodus aktiviere, scheint es immer noch deaktiviert zu sein? Ich bin jetzt am 2.2.3
harri

0

Deaktivieren Sie die folgenden Caches, damit Sie die CLI-Befehle nicht ausführen müssen, um den Cache zu löschen.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC

0

Der Hauptgrund, warum magento2 im Entwicklermodus langsam ist, hängt mit Tausenden von statischen und kompilierten Dateien zusammen, die im laufenden Betrieb generiert werden.

Hierfür gibt es 3 Lösungen:

  • Mounten Sie das gesamte Verzeichnis mit NFS (SSD ist weiterhin obligatorisch).

  • Mounten Sie nur das App-Verzeichnis (unabhängig davon, auf welcher Hardware es funktioniert), aber Sie verlieren den Zugriff auf das Verzeichnis / vendor auf Ihrem Host-Computer.

  • Mounten Sie das gesamte Projekt mit rsync und schließen Sie Verzeichnisse aus, in denen Dateien generiert werden (pub / static, generated / code etc ...).

Sie können es hier ausprobieren: https://github.com/zepgram/magento2-fast-vm/


0

Opcache erhöht die Leistung erheblich. Vergessen Sie jedoch nicht, die Zeitstempelüberprüfung zu aktivieren, um zu vermeiden, dass der Cache beim Ändern von Dateien aktualisiert wird

opcache.validate_timestamps = On


-4

Führen Sie die folgenden Schritte aus, um die Geschwindigkeit des Magento 2-Speichers zu erhöhen:

  • Stellen Sie zunächst sicher, dass Sie alle System- und Serveranforderungen erfüllt haben.
  • Aktualisieren Sie das Magento auf die neueste Version.
  • Aktiviert den Lack Cache
  • Aktiviert die Flat-Kategorien und -Produkte - Bild, Javascript und CSS optimieren
  • CDN einrichten
  • Verwenden Sie immer fehlerfreie Erweiterungen und leichtgewichtige Designs.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.