Zum Inhalt

Layout Cache: Layout-Cache beim Deploy aufwärmen

User Guide


CopeX GmbH
Web: https://copex.io
Email: office@copex.io


Inhaltsverzeichnis / Table of Contents

Abschnitt / Section Seite
1 Was es macht / What it does 3
2 Wann sinnvoll / When to use 3
3 Voraussetzungen / Requirements 4
4 Installation 4
5 Aktivierung / Activation 5
6 Verwendung / Usage 5
7 Was tun bei Problemen / Troubleshooting 7
8 Für Entwickler / For Developers 8

1 Was es macht

Wenn Magento eine Seite zum ersten Mal nach einem Deployment oder cache:clean rendert, werden mehrere Layout-XML-Dateien aus Core, Theme und Modulen zusammengeführt. Dieser Merge-Schritt dauert 200–500 ms pro eindeutigem Seitentyp — die ersten Besucher nach einem Deploy bekommen diese Verzögerung zu spüren.

Layout Cache eliminiert diesen Erstabruf-Spike, indem der Layout-Merge-Cache bereits während des Deployments aufgewärmt wird. Dazu werden 8 hochwertige Seitentypen (Startseite, Kategorie, Produktdetail, Warenkorb, Checkout, Kundenkonto) für jede Store-View vorberechnet und im Layout-Cache gespeichert.

Echte Nutzeranfragen nach dem Deployment laden den Layout-Cache aus Redis — der Merge-Schritt entfällt vollständig.


2 Wann sinnvoll

  • Erste Seitenaufrufe nach Deployments sind spürbar langsamer als folgende
  • Monitoring zeigt Ladezeit-Spikes nach Cache-Invalidierungen
  • Shop hat mehrere Store-Views — jede profitiert separat

3 Voraussetzungen

  • Magento 2.4.7 bis 2.4.9
  • PHP 8.3 bis 8.5
  • copex/module-performance-suite (stellt BuilderPool bereit)
  • copex/module-core >1.1.0

4 Installation

composer require copex/module-layout-precompile
bin/magento module:enable CopeX_LayoutPrecompile
bin/magento setup:upgrade

Alternativ die komplette Suite installieren:

composer require copex/performance-suite-bundle

5 Aktivierung

Layout Cache hat keinen env.php-Schalter. Der Layout-Builder ist aktiv, sobald das Modul aktiviert ist — LayoutBuilder::isEnabled() gibt konstant true zurück und wertet copex/performance/preloaders/enabled nicht aus. Zum Befüllen der Snapshots genügt:

bin/magento copex:performance:build

6 Verwendung

bin/magento copex:performance:build

Führt alle registrierten Builder aus — Layout-Vorwärmung ist automatisch enthalten:

bin/magento copex:performance:build

Mit -v für detaillierte Ausgabe pro Handle und Store-View:

bin/magento copex:performance:build -v

Empfohlene Reihenfolge im Deployment:

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento copex:performance:build
bin/magento cache:flush

Wichtig: copex:performance:build muss vor cache:flush ausgeführt werden — sonst werden die vorgewärmten Einträge sofort verworfen.

Aufgewärmt werden pro Store-View: Startseite, Kategorie-Listing, Produktdetail (einfach, konfigurierbar, Bundle), Warenkorb, Checkout, Kundenkonto.


7 Was tun bei Problemen

Kill Switch:

bin/magento module:disable CopeX_LayoutPrecompile
bin/magento setup:upgrade

Der Layout-Builder wird aus dem BuilderPool entfernt. Alle übrigen Performance-Suite-Features bleiben aktiv.

Layout-Cache wird nicht aufgewärmt: Modul-Status prüfen. bin/magento copex:performance:build -v für detaillierte Ausgabe ausführen. var/log/system.log auf Layout-Fehler prüfen.

Ein Handle-Set schlägt fehl: Fehler werden inline ausgegeben, stoppen aber nicht den gesamten Build. Ursache im Layout-XML beheben, setup:di:compile wiederholen, dann neu bauen.


8 Für Entwickler

Das Modul registriert sich im CopeX_PerformanceSuite BuilderPool bei Priorität 20 (nach Config-Kompilierung, vor DI-Warmern). Eigene Builder können nach demselben Muster via di.xml registriert werden — BuilderInterface aus copex/module-performance-suite implementieren.


CopeX GmbH — Web: https://copex.io — Email: office@copex.io