Vergleicht Shopware 6 Performance-Metriken zwischen Hosting-Umgebungen.
Erstellt für den Nuonic Blog: TimmeHosting → mittwald Migration.
- Bun >= 1.0 (
curl -fsSL https://bun.sh/install | bash) - Store-API Access Key (Shopware Admin → Settings → System → Sales Channels)
- Optional: Admin-API Integration (für Admin-Endpoint-Tests)
Editiere config-timmehosting.json und config-mittwald.json:
baseUrl→ Shop-URLstoreApiAccessKey→ densw-access-keyaus dem Sales ChannelfrontendPaths→ 3-5 repräsentative Seiten (Startseite, Kategorie, Produkt, evtl. Checkout)adminApiCredentials→ optional, Integration-Credentials aus Shopware Admin
# TimmeHosting messen
bun run shopware-benchmark.ts --config config-timmehosting.json
# mittwald messen
bun run shopware-benchmark.ts --config config-mittwald.jsonbun run shopware-benchmark.ts --compare \
benchmark-timmehosting-*.json \
benchmark-mittwald-*.json| Metrik | Beschreibung | Blog-Relevanz |
|---|---|---|
| API Response Time | Avg / P50 / P95 / P99 für Store- und Admin-API | ⭐⭐⭐ Kernmetrik |
| Frontend TTFB | Time to First Byte der HTML-Seiten | ⭐⭐⭐ UX-relevant |
| Throughput (rps) | Requests/Sekunde bei steigender Concurrency | ⭐⭐⭐ Skalierbarkeit |
| Latenz-Verteilung | P50/P95/P99 zeigt Tail-Latency | ⭐⭐ Stabilität |
| Standardabweichung | Konsistenz der Response-Zeiten | ⭐⭐ Zuverlässigkeit |
| Cache Effect | Cold vs Warm Request-Zeiten | ⭐ Optimierungs-Potential |
- Gleiche Datenbasis: Beide Shops sollten identische Produkte/Kategorien haben
- Gleicher Standort: Benchmark von der gleichen Maschine ausführen (z.B. von zu Hause)
- Gleiche Tageszeit: Beide Tests zur gleichen Uhrzeit ausführen
- Mehrfach messen:
iterations: 30gibt stabilere Ergebnisse als 10 - Nicht gleichzeitig: Erst einen Shop fertig messen, dann den anderen
- frontendPaths anpassen: Gleiche Kategorie/Produkt-URLs auf beiden Shops nutzen
- Shopware Admin → Settings → System → Integrations
- "Add integration" → Name: "Benchmark"
- Admin-Rechte: Nur Lesezugriff nötig
clientIdundclientSecretin Config eintragen
Das Tool erzeugt:
- JSON-Report pro Lauf (
benchmark-<label>-<timestamp>.json) - Vergleichstabelle (Text) mit prozentualen Unterschieden und Emojis (🟢/🔴)
- Die JSON-Reports eignen sich als Datenquelle für Blog-Charts
Empfohlene Visualisierungen:
- Bar Chart: Avg Response Time pro Endpoint (TimmeHosting vs mittwald)
- Line Chart: Throughput bei steigender Concurrency
- Box Plot: Latenz-Verteilung (zeigt P50/P95/P99 + Outliers)
- Tabelle: Gesamtübersicht aller Metriken