Magento 2 - Starke Ladezeit (zu viele JS-Dateien)

8

Ich arbeite derzeit an Magento 2 und habe festgestellt, dass die Ladezeiten für alle Seiten extrem hoch sind.

Ich arbeite momentan auf Xampp, der Produktionsmodus ist aktiviert, HTML / js / CSS werden zusammengeführt und minimiert, Varnish ist deaktiviert und ich werde es nicht verwenden, da mein Webhosting es nicht auf meinem Server installieren kann, da es stören wird einige Skripte. Ich verwende ein benutzerdefiniertes Thema, dessen übergeordnetes Thema das leere Thema von Magento 2 ist. Nachdem ich meine Einstellungen geändert hatte, stellte ich statische Dateien erneut bereit und leerte den Cache.

Mein Hauptanliegen ist, dass ich beim Betrachten des Netzwerkfensters sehe, dass jedes Mal eine große Menge von js-Dateien geladen wird. Zum Beispiel werden auf meiner Kategorieseite 122 js-Dateien geladen, was für eine Gesamtgröße von 955 ko ziemlich viel ist.

Ich habe es auf meinem Server getestet, ohne es zusammenzuführen und zu minimieren, aber wie ich oben sagte, liegt das Problem meiner Meinung nach in der Menge der geladenen Dateien, denn selbst wenn es schneller geladen wird, ist es immer noch zu lang und beim Auschecken ist es noch schlimmer.

Ich habe die Bündelungsoption ausprobiert, aber sie generiert eine 8-MB-JS-Datei, was schlimmer ist.

Habe ich etwas verpasst oder ist es etwas normal, dass die Anzahl der JS-Dateien so groß ist? Ist Lack für eine gute Leistung obligatorisch und gibt es eine Alternative dazu?

Ich bin ziemlich neu in Magento 2, wenn Sie weitere Informationen benötigen, werde ich diese gerne zur Verfügung stellen.

Tonani
quelle
Dies ist bei Magento 2 üblich, da 120 oder sogar über 150 Skripte geladen sind. Sie können sie jederzeit in einer Datei zusammenführen und minimieren. Stellen Sie jedoch sicher, dass Sie HTTP1 oder HTTP2 auf Ihrem Server verwenden. Wenn Sie HTTP2 aktiviert haben, ist das asynchrone Laden von 120 oder sogar 150 js-Skripten aufgrund der Funktionsweise von HTTP2 kein Problem. HTTP2 ist besser, wenn mehrere kleinere Dateien gleichzeitig geladen werden, als wenn eine große kombinierte minimierte js-Datei geladen werden muss. Aber ich fühle deinen Schmerz, Magento 2 ist ein großes Problem im Vergleich zu Magento 1. Aber ich denke, Magento 2 ist immer noch langsam!
Jonathan Marzullo

Antworten:

3

Die Menge an JS ist riesig, aber wenn es sich um 8 MB handelt, stimmt etwas nicht. Sie sollten die Konfiguration "Bündeln" im Produktionsmodus verwenden, wenn Sie nicht möchten, dass> 100 Dateien geladen werden.

Wenn das Standard-Luma-Design Bundle, Merge und Minify aktiviert ist, beträgt die gebündelte JS-Datei 1,9 MB.

Lack ist ein weiteres Thema und hilft nicht bei der Leistung generierter statischer Dateien.

Fabian Schmengler
quelle
Das, was ich getan habe und es erzeugt eine 8mo js-Datei. Gibt es eine spezielle Konfiguration bezüglich der Bündelung neben der Aktivierung auf dem Administrator? Ich spülte und säuberte danach den Cache.
Tonani
Sie müssen den Produktionsmodus aktivieren, statische Dateien erneut bereitstellen und den Cache leeren, aber ich denke, Sie haben das bereits getan
Fabian Schmengler
Ja, habe ich. Vielleicht stimmt etwas mit dem leeren Thema nicht.
Tonani
Ich hatte ähnliche Probleme, aber ich hatte das Gefühl, dass das Bündeln irgendwann ein Problem hatte und es jetzt behoben ist. Ich habe diese seoptimer.com jedoch verwendet und dies zeigt immer noch, dass meine Website eine riesige JS von etwa 5 MB hat, wenn DevTools 1,5 MB auf der Registerkarte "Netzwerk" für die JS auf der Produktseite anzeigt. Ist diese Seite einfach falsch?
Harris
1

Ich bin auch ziemlich neu in Magento 2, aber bisher mussten wir sowohl mit Magento 1 als auch mit Magento 2 das Caching aktivieren, damit alles eine Geschwindigkeit hat. Die Menge an js ist riesig, also ist Caching dein bester Freund. Sie können das Caching aktivieren, indem Sie PHP Bin / Magento Cache ausführen: enable. Wenn Sie Caching aktiviert haben, müssen Sie es leeren, nachdem Sie Änderungen mit PHP Bin / Magento Cache vorgenommen haben: Flush. Das integrierte Caching von Magento 2 ist auch ohne Vanish verfügbar.

Zach L.
quelle
0

Es ist wirklich überraschend, dass dieses Problem für Magento 2 im Jahr 2020 aktuell ist. Durch das Bündeln werden 90% der Dateien nicht gebündelt (wie hier beschrieben ).

Js Merge hingegen verschmilzt alles zu einem superschweren Mega-Pack.

Obwohl es mit Standard-Magento nicht gelöst werden konnte, gibt es hier eine kostenpflichtige Erweiterung, die das oben genannte Verhalten erheblich verbessert: Optimierung der Google-Seitengeschwindigkeit

Evgeni Obukhovsky
quelle