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