Langsame Seiten, träge Datenbank, Importe, die Stunden dauern – ich messe, finde die Engpässe und behebe sie mit dem größten Effekt zuerst.
Performance-Optimierung PHP & MySQL
„Die Anwendung ist langsam" hat fast immer eine konkrete Ursache – und sie ist selten die, die man vermutet. Ein größerer Server hilft kurz, kostet dauerhaft und löst das Problem nicht. Ich messe zuerst, dann behebe ich die Engpässe mit dem größten Effekt: in PHP-Code, Datenbankabfragen, Caching und Architektur.
Typische Aufgaben
Langsame Datenbankabfragen
Fehlende Indizes, N+1-Abfragen aus dem ORM, ungünstige Joins, Tabellen, die niemand aufräumt: Analyse mit Slow-Query-Log und EXPLAIN, dann gezielte Korrekturen – oft mit dem größten Hebel.
Importe und Exporte, die Stunden dauern
Produktimporte, Bestandsabgleiche und Exporte in Stapeln verarbeiten, Speicherverbrauch senken, parallelisieren und aus dem Request in Hintergrundjobs verlagern.
Caching richtig einsetzen
HTTP-Caching, Anwendungs-Cache (Redis, Symfony Cache), Doctrine-Cache, Vorberechnung teurer Ergebnisse – dort, wo es etwas bringt, ohne veraltete Daten zu riskieren.
Blockierende Fremdaufrufe
Externe APIs, die jeden Seitenaufruf ausbremsen: Timeouts, Queues, asynchrone Verarbeitung und Fallbacks, damit ein langsamer Anbieter nicht deine Anwendung lahmlegt.
PHP-Laufzeit und Server-Konfiguration
OPcache, PHP-FPM-Einstellungen, Sessions, Logging, Composer-Autoloader, aktuelle PHP-Version – Grundlagen, die oft übersehen werden.
Lastspitzen und Skalierung
Kampagnen, Saisongeschäft, nächtliche Verarbeitungsläufe: Engpässe vor dem Ansturm finden, Warteschlangen und Worker einführen, Lasttests durchführen.
Shopware-Umfeld
Eigene Plugins, Schnittstellen und Erweiterungen, die den Shop bremsen – gemessen und behoben, ohne den Shop-Kern anzufassen.
So gehe ich vor
- Messen: Profiling (Blackfire, Xdebug, Symfony Profiler), Datenbank-Analyse, Serverauslastung – mit konkreten Zahlen als Ausgangslage.
- Priorisieren: Die drei bis fünf Maßnahmen mit dem größten Effekt pro Aufwand, abgestimmt mit dir.
- Umsetzen und nachmessen: Jede Maßnahme wird einzeln produktiv gesetzt und gemessen. Du bekommst Vorher/Nachher-Werte, keine Bauchgefühle.
So arbeite ich
Drei Prinzipien, die in jedem Projekt gelten
Verstehen vor Umsetzen
Erst die kurze technische Einordnung: Was ist das eigentliche Problem, wo sitzt der Hebel, was ist wirtschaftlich sinnvoll? Dann die Umsetzung.
Umsetzen statt weiterreichen
Du sprichst mit dem Entwickler, der die Arbeit macht – keine Übergabekette, keine Blackbox, klare Statusmeldungen und frühe Warnung bei Risiken.
Übergeben statt festhalten
Code in deinem Repository, Tests, Dokumentation und ein Deployment-Ablauf, den dein Team versteht. Kein Vendor-Lock-in – dein System hängt danach nicht an mir.
Werdegang
Erfahrung auf einen Blick
- Heute
- Senior-Freelancer in laufenden Shopware-Projekten mehrerer Agenturen und Händler – eingespielt in fremde Repos, Prozesse und Deadlines.
- Seit 2021
- Selbstständig als Stefan Pilz Ltd. – remote für Händler und Agenturen: Shopware 5 und 6, Symfony, Migrationen, Betreuung.
- 2015 – 2020
- E-Commerce-Backends: Warenwirtschaft, PIM und Amazon/eBay-Schnittstellen für rund 3,5 Mio. Produkte, danach die Mobilfunk-Webshops von Drillisch.
- Seit 2012
- Hauptberuflich Webentwickler – zuerst in einer Agentur: Websites und Shops mit Joomla, xt-Commerce und Shopware.
- 2002
- Ausbildung zum Softwareentwickler abgeschlossen (C/C++). Ab 2004 erste eigene Websites mit PHP.
Aktuelle und abgeschlossene Projekte ansehen Werdegang und Stack im Lebenslauf
Gute Passung
Passt gut, wenn...
- du eine konkrete Geschäftsanforderung hast, die Standardsoftware nicht sauber abdeckt.
- du einen erfahrenen PHP-/Symfony-Entwickler suchst, der direkt umsetzt statt Tickets weiterzureichen.
- du bestehende Systeme, Shops oder Schnittstellen hast, die zusammenspielen müssen.