Zum Inhalt

Performance Suite: Schnellerer Magento Storefront

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

Performance Suite ist das Herzstück der CopeX Performance-Optimierung für Magento. Es stellt die gemeinsame Infrastruktur bereit, auf die alle anderen CopeX-Performance-Module aufbauen: Preloader-Verwaltung, Build-Zeit-Optimierungen, Diagnose-Werkzeuge und ein dreistufiges Kill-Switch-System.

Das Modul selbst macht den Shop schneller durch einen anfrage-scoped Produktcache: Produkte, die einmal geladen wurden, werden innerhalb derselben Anfrage nicht ein zweites Mal aus der Datenbank gelesen.

Zusätzlich enthält das Modul CLI-Befehle für Benchmarks, Audits und Build-Zeit-Optimierungen — alle unter copex:performance:.


2 Wann sinnvoll

  • Shop ist unter Last langsam, Ursache unklar
  • Diagnose-Tools fehlen
  • Andere CopeX-Performance-Module sind geplant — Performance Suite ist Voraussetzung

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-core >1.1.0

4 Installation

composer require copex/module-performance-suite
bin/magento module:enable CopeX_PerformanceSuite
bin/magento setup:upgrade

Oder die komplette Suite auf einmal installieren:

composer require copex/performance-suite-bundle

5 Aktivierung

'copex' => [
    'performance' => [
        'enabled' => true,
    ],
],
Flag Standard Beschreibung
performance/enabled false Globaler Hauptschalter
performance/disabled_domains [] Hostnamen, bei denen die Suite deaktiviert ist
performance/preloaders_enabled true Preloading deaktivieren ohne Builder zu beeinflussen
performance/min_batch_size 2 Mindestproduktanzahl für Preloading
performance/chunk_size 500 Max. Produkt-IDs pro Preloader-Abfrage

6 Verwendung

Alle CLI-Befehle sind unter copex:performance: registriert.

Befehl Was er macht
copex:performance:build Führt alle registrierten Builder aus (Config, Layout, ...)
copex:performance:build:config Konfiguration in PHP-Dateien vorkompilieren
copex:performance:benchmark --url=/pfad Misst Anfrage-Geschwindigkeit mit und ohne Preloader
copex:performance:audit:layout-cache Prüft Layout-Cache-Trefferquoten und veraltete Handles
copex:performance:audit:redis Prüft Redis-Konfiguration und Speichernutzung
copex:performance:audit:modules Erkennt deaktivierte oder konfligierende Module
copex:performance:audit:indexers Prüft Indexer-Status und empfiehlt Konfiguration
copex:performance:recommendations Fasst alle Audit-Ergebnisse als Aktionsliste zusammen
copex:performance:opcache:prime Wärmt OPcache nach dem Deployment auf

OPcache-Preload (optional): opcache.preload in php.ini auf vendor/copex/module-performance-suite/etc/preload.php setzen, PHP-FPM nach jedem Deployment neu starten.


7 Was tun bei Problemen

Kill Switch — sofort alles deaktivieren:

'copex' => ['performance' => ['enabled' => false]]

Wirkt ab der nächsten Anfrage. Kein Cache-Flush, kein Server-Neustart.

Nur für bestimmte Domains deaktivieren (z.B. Staging):

'copex' => ['performance' => ['disabled_domains' => ['staging.beispiel.at']]]

Automatische Selbstschutzfunktion: Wenn ein Fehler innerhalb eines Preloaders auftritt, wird er für den Rest der Anfrage deaktiviert. Der Fehler wird in var/log/copex-performance.log protokolliert — der Nutzer sieht keinen Fehler.

Diagnose: copex:performance:recommendations → priorisierte Probleme; copex:performance:benchmark → Messung; var/log/copex-performance.log → deaktivierte Preloader.


8 Für Entwickler

ProductPreloadHelperInterface erlaubt eigenen Blocks, Preloading explizit für bekannte Produkt-IDs auszulösen, ohne auf Collection-Events zu warten. Geeignet für Custom-Blocks, die Produkte direkt laden.

Der RequestRegistry speichert den Seitenkontext (list, cart, wishlist, pdp) und vorab geladene Daten pro Anfrage. Bei persistenten PHP-Workern (FrankenPHP, RoadRunner) wird der Registry zwischen Anfragen automatisch zurückgesetzt.


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