Magento 2 Developer Beta: Vorbereitung für Produktiv-Betrieb

Der Production-Mode der Magento 2 Developer Beta beschleunigt die Ladezeiten

Hinweis: dieser Artikel wurde auf Basis der Version 0.42.0-beta3 geschrieben. Die Vorgehensweise kann sich in späteren Versionen ändern.

Mit einigen Schritten wird Magento 2 für den Betrieb im Live-System fit gemacht. Die hier beschriebenen Maßnahmen sollen die Geschwindigkeit und Skalierbarkeit des Webshops verbessern.

Produktiv-Modus aktivieren

Im Moment verfügt Magento 2 über drei Betriebsmodi: developer, default und production. Sie unterscheiden sich darin, wieviele Informationen dynamisch generiert werden. Es gilt: je dynamischer, desto langsamer. Für bestmögliche Performance wird der production-Mode aktiviert.

Dazu wird in der VirtualHost-Konfiguration des Servers die Umgebungsvariable MAGE_MODE auf „production“ gestellt:

SetEnv "MAGE_MODE" "production"

 Statische Dateien generieren

In den nicht-produktiven Modi versucht Magento automatisch die statischen Dateien an verschiedenen Stellen zu finden, damit man Dateien nicht ständig kopieren muss. Im Produktionsmodus wird das nicht getan, um die Performance zu verbessern. Damit der Shop richtig dargestellt wird, muss man die statischen Dateien generieren.

Dazu löscht man die alten statischen Dateien in pub/static und lässt die neuen Dateien erstellen.

# Vom Magento-Root-Verzeichnis ausgehend
cd pub/static
rm -rf *
cd ../../dev/tools/Magento/Tools/View
php -f deploy.php

Nun rattert das Tool alle relevanten  Verzeichnisse durch und erzeugt eine Ausgabe wie folgt:

Requested languages: en_US
=== frontend -> Magento/blank -> en_US ===
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Successful: 1548 files; errors: 0
---

=== frontend -> Magento/luma -> en_US ===
..................................................................................................................................................................................

(usw.)

---

New version of deployed files: 1421172880

Autoloader-Class-Map generieren

Die Autoloader Class Map ist eine Datei, in der Magento nachsehen kann, welche Klassen wo im Dateisystem zu finden sind. Es ist nicht klar, ob die Datei momentan überhaupt verwendet wird, aber so kann man sie erzeugen:

# Vom Magento-Root-Verzeichnis ausgehend
cd dev/tools/Magento/Tools/classmap
php -f fs_generator.php

Die Ausgabe:

Scanning: /var/www/magento2/lib/internal
Scanning: /var/www/magento2/app/code
Done!

Dependency-Injection-Definitionen generieren

Das Definition-Compiler-Tool produziert Code, der sonst durch Reflection dynamisch erzeugt wird.
Das Resultat der Kompilierung sind Dateien in den Verzeichnissen var/generation und var/di.

# Vom Magento-Root-Verzeichnis ausgehend
cd dev/tools/Magento/Tools/Di
php -f compiler.php

Die Ausgabe:

Scanning: /var/www/magento2/lib/internal
Scanning: /var/www/magento2/app/code
Done!

3 Antworten

  1. Hallo, danke euch 🙂

  2. Micha sagt:

    Super Beitrag Matthias! Also ich bin mit „meinem“ Magento 2 auch am testen und ausprobieren 🙂

    Lieben Gruß,
    Michael

  3. Tobias Vogt sagt:

    Danke Matthias. Spannend. Ich sollte auch mal mt Magento 2 starten. Man hat schnell das Gefühl etwas zu verpassen 🙁