Elastic APM für Shopware: Performance-Monitoring richtig gemacht

Ihr Shopware-Shop ist live, die Verkäufe laufen – aber plötzlich häufen sich Beschwerden: "Der Checkout ist so langsam!", "Die Produktsuche hängt sich auf!". Ohne professionelles Monitoring tappen Sie im Dunkeln: Welche Seiten sind betroffen? Liegt es am PHP-Code, der Datenbank oder externen APIs? Genau hier kommt Elastic APM (Application Performance Monitoring) ins Spiel. Elastic APM ist Teil des Elastic Stack (früher ELK-Stack) und bietet End-to-End-Monitoring für Ihre Shopware-Anwendung – von Backend-Transaktionen bis zu Frontend-Rendering. Bei CODING9 setzen wir Elastic APM standardmäßig in unseren Shopware-Projekten ein und zeigen Ihnen in diesem Guide, wie Sie es implementieren, konfigurieren und nutzen, um Performance-Probleme proaktiv zu lösen.
Was ist Elastic APM und warum für Shopware?
Elastic APM ist ein Open-Source-Tool für Application Performance Monitoring und Distributed Tracing. Es trackt:
Backend-Transaktionen: PHP-Requests, SQL-Queries, API-Calls
Frontend-Performance (RUM): Page Load, Core Web Vitals, JavaScript-Fehler
Fehler & Exceptions: Stack Traces, Error Rates, Impact-Analyse
Service Maps: Visualisierung von Abhängigkeiten (Shopware → MySQL → Redis → Payment-Gateway)
Warum Elastic APM speziell für Shopware 6?
Native PHP-Integration: Elastic bietet einen offiziellen PHP-Agent, der Symfony/Shopware automatisch instrumentiert
Open Source & Self-Hosted: Volle Datenkontrolle (wichtig für DSGVO)
RUM für Storefront: Misst echte User-Erfahrung (nicht nur synthetische Tests)
Kosteneffizient: Free Tier für kleine Shops, ~€50-200/Monat für mittelgroße Shops (vs. €500+ bei New Relic/Datadog)
Setup Teil 1: Elastic APM Server installieren
Sie haben zwei Optionen: Self-Hosted oder Elastic Cloud.
Option 1: Self-Hosted (Docker Compose)
Ideal für volle Kontrolle und DSGVO-Compliance:
Option 2: Elastic Cloud (Managed)
Account erstellen auf cloud.elastic.co
Deployment erstellen (14-Tage Free Trial)
APM-Server aktivieren (unter "Integrations")
Secret Token & Server URL notieren
Setup Teil 2: PHP Agent für Shopware installieren
Der Elastic PHP Agent instrumentiert Ihre Shopware-Anwendung automatisch:
Schritt 1: Agent-Installation
Schritt 2: Konfiguration (.env)
Fügen Sie zu Ihrer Shopware .env hinzu:
Schritt 3: Symfony Integration (optional aber empfohlen)
Für bessere Transaction-Namen und Custom Spans:
Nach Deploy sehen Sie bereits erste Transaktionen in Kibana APM!
Setup Teil 3: RUM (Real User Monitoring) für Storefront
RUM trackt Frontend-Performance direkt im Browser Ihrer Kunden:
JavaScript-Agent einbinden
Erstellen Sie ein Shopware-Plugin oder nutzen Sie ein Theme-Override:
Custom Tracking für E-Commerce-Events
Daten analysieren: Kibana APM Dashboard
Öffnen Sie Kibana → APM. Hier die wichtigsten Views:
1. Services Overview
Zeigt alle Services (shopware-production, shopware-storefront, mysql, redis)
Metriken: Durchschnittliche Response Time, Throughput (Requests/Min), Error Rate
2. Transactions
Filtern Sie nach langsamen Endpoints:
Beispiel:
POST /checkout/confirm→ 2.3s Ø (zu langsam!)Drill-Down: Zeigt Spans (Sub-Operationen) an:
SQL Query: 850ms (BOTTLENECK!)
PayPal API: 400ms
Email Versand: 200ms
3. Errors
Stack Traces für jede Exception
Gruppierung nach Error-Type
Beispiel: "PDOException: SQLSTATE[HY000] Too many connections" → DB-Pool zu klein
4. Service Map
Visualisiert Abhängigkeiten:
Performance-Optimierung: Praxis-Beispiele aus CODING9-Projekten
Fall 1: Langsamer Checkout (2.3s → 0.4s)
Problem: APM zeigte 850ms für eine SQL-Query im Checkout
Lösung:
Query analysiert: N+1-Problem (lädt jedes Line Item einzeln)
Fix: Eager Loading mit Doctrine Associations
Resultat: 850ms → 50ms, Checkout 82% schneller
Fall 2: Hohe Error Rate bei Product Listing (12% → 0.3%)
Problem: 12% aller Listing-Requests werfen Timeouts
Lösung:
APM Error-Details: Elasticsearch-Timeout bei komplexen Filtern
Fix: Elasticsearch Query-Optimierung + Index-Tuning
Resultat: Error Rate von 12% auf 0.3%
Fall 3: Schlechte Core Web Vitals (LCP 4.2s → 1.8s)
Problem: RUM zeigte Largest Contentful Paint (LCP) von 4.2s
Lösung:
RUM Transaction-Details: Hero-Image (2MB) unkomprimiert
Fix: WebP-Conversion + CDN + Lazy Loading
Resultat: LCP 4.2s → 1.8s (Google "Good" Threshold)
Best Practices & Tipps
1. Sampling für hohen Traffic
Bei >100.000 Requests/Tag samplen Sie nur 10-20% der Transaktionen, um Kosten zu senken:
2. Alerts einrichten
In Kibana → Alerts:
Error Rate > 5% → Slack/Email-Benachrichtigung
Avg. Response Time > 3s → Alert an DevOps-Team
LCP > 2.5s → SEO-Team informieren
3. Custom Spans für Business-Logik
4. DSGVO-Compliance
Anonymisieren Sie User-IDs in Custom Context
Filtern Sie sensitive URLs (
/account/login,/checkout/payment)Self-Hosting in EU für volle Datenkontrolle
Kosten & ROI
Self-Hosted (Docker)
Server: €30-80/Monat (2-4 vCPU, 8-16 GB RAM)
Wartung: ~4h/Monat (Updates, Backups)
Elastic Cloud
Standard: $95/Monat (bis 50GB Daten)
Enterprise: ab $175/Monat (unbegrenzt + Support)
ROI-Beispiel
Ein mittelgroßer Shopware-Shop (€500k/Monat Umsatz):
Investition: €100/Monat (Elastic Cloud)
Gewinn durch 1% Conversion-Steigerung (bessere Performance): €5.000/Monat
ROI: 5.000%
Fazit: APM ist unverzichtbar für professionelle Shopware-Shops
Elastic APM ist kein Nice-to-Have – es ist ein Must-Have für jeden ernsthaften E-Commerce-Betreiber. Die Vorteile sind messbar:
Proaktive Fehlerbehebung → Weniger Downtime, zufriedenere Kunden
Performance-Optimierung → Höhere Conversion Rates
Datengetriebene Entscheidungen → Fokus auf echte Bottlenecks, nicht Vermutungen
Bei CODING9 implementieren wir Elastic APM standardmäßig in allen Shopware-Projekten und bieten auch nachträgliche Integration für bestehende Shops an. Kontaktieren Sie uns für ein kostenloses Performance-Audit Ihres Shops!
Nutzen Sie bereits APM-Tools in Ihrem E-Commerce-Projekt? Welche Erfahrungen haben Sie gemacht? Teilen Sie Ihre Insights in den Kommentaren!