Skip to content

nuonic-digital/measurements

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Shopware Hosting Benchmark Tool

Vergleicht Shopware 6 Performance-Metriken zwischen Hosting-Umgebungen.
Erstellt für den Nuonic Blog: TimmeHosting → mittwald Migration.

Voraussetzungen

  • 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)

Quick Start

1. Config-Dateien anpassen

Editiere config-timmehosting.json und config-mittwald.json:

  • baseUrl → Shop-URL
  • storeApiAccessKey → den sw-access-key aus dem Sales Channel
  • frontendPaths → 3-5 repräsentative Seiten (Startseite, Kategorie, Produkt, evtl. Checkout)
  • adminApiCredentials → optional, Integration-Credentials aus Shopware Admin

2. Benchmarks ausführen

# TimmeHosting messen
bun run shopware-benchmark.ts --config config-timmehosting.json

# mittwald messen
bun run shopware-benchmark.ts --config config-mittwald.json

3. Vergleich generieren

bun run shopware-benchmark.ts --compare \
  benchmark-timmehosting-*.json \
  benchmark-mittwald-*.json

Gemessene Metriken

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

Tipps für aussagekräftige Ergebnisse

  1. Gleiche Datenbasis: Beide Shops sollten identische Produkte/Kategorien haben
  2. Gleicher Standort: Benchmark von der gleichen Maschine ausführen (z.B. von zu Hause)
  3. Gleiche Tageszeit: Beide Tests zur gleichen Uhrzeit ausführen
  4. Mehrfach messen: iterations: 30 gibt stabilere Ergebnisse als 10
  5. Nicht gleichzeitig: Erst einen Shop fertig messen, dann den anderen
  6. frontendPaths anpassen: Gleiche Kategorie/Produkt-URLs auf beiden Shops nutzen

Admin API Integration erstellen

  1. Shopware Admin → Settings → System → Integrations
  2. "Add integration" → Name: "Benchmark"
  3. Admin-Rechte: Nur Lesezugriff nötig
  4. clientId und clientSecret in Config eintragen

Ausgabe

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

Für den Blogpost

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

About

Shopware Hosting Benchmark Tool

Resources

Stars

Watchers

Forks

Contributors