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.6 oder höher
  • PHP 8.1 oder höher (kompatibel mit 8.2, 8.3, 8.4, 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 eigenen env.php-Schalter. Es wird über den Performance-Suite-Hauptschalter gesteuert:

'copex' => [
    'performance' => [
        'enabled' => true,
    ],
],

Das Modul ist aktiv, sobald es aktiviert ist und copex/performance/enabled auf true steht.


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 und copex/performance/enabled 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