Benjamin, was hat dich inspiriert, Tideways zu gründen?
Früher arbeitete ich in einer Beratungsfirma. Wir betreuten viele E-Commerce-Kunden, für die wir nach Shop-Relaunches oder vor dem Black Friday Lasttests durchführten. Dabei stellten wir fest, dass die Shops die erwartete Last oft nicht bewältigen konnten. Aber wir wussten nie genau, warum. Genau das wollten wir herausfinden. Der erste Vorgänger von Tideways war ein Profiler, der Daten sammelte, um den Kunden zu zeigen, wo die Probleme liegen und wie die Leistungsfähigkeit der Websites optimiert werden kann. Nachdem die Kunden Verbesserungen vorgenommen hatten, konnten wir die Tests wiederholen und die Performance messen. So hat sich das Produkt entwickelt.
Wie funktioniert Tideways heute?
Im Prinzip ist der zentrale Kern von Tideways eine Erweiterung für die Programmiersprache PHP, die auf dem Server des Nutzers installiert wird. So können wir mit der Erweiterung zentral in jeder beliebigen PHP-Anwendung messen, wie lange eine Datenbankabfrage oder einzelne Funktionen des Codes dauern. Die Daten werden also auf dem Server des Nutzers gesammelt, aggregiert und regelmäßig an unser Backend geschickt. Dort aggregieren wir sie noch einmal und werten sie anwendungsbezogen aus. Diese Auswertung können die Nutzer im Tool anschauen.
Durch die anwendungsbezogene Auswertung lässt sich die Performance auf eine bestimmte Aktion zurückverfolgen, die die Websitebesucher ausführen. Nur so können Shop-Betreiber Leistungsengpässe zielgenau beheben.
Welche Daten misst Tideways genau?
Beim Performance-Monitoring misst Tideways, welchen Seitentyp Besucher oder Bots aufrufen und wie lange das dauert. Wir analysieren die Dauer einzelner Komponenten, wie Datenbankabfragen, Drittanbietersysteme und Caching. Diese Daten aggregiert das Tool für die Gesamtanwendung und unterteilt es in Backend- und Frontend-Anfragen. Zusätzlich bricht es die Performance auf einzelne Seitentypen herunter, wie Homepage, Kategorieseite oder Checkout. Das Tool misst auch die Dauer spezifischer Aktionen wie das Hinzufügen eines Produkts zum Warenkorb.
Beim Profiling verwenden wir Sampling, um detaillierte Daten für bestimmte Requests zu sammeln. Hier sehen wir beispielsweise welche Datenbank- oder Cache-Abfragen genau ausgeführt wurden. Außerdem erfassen wir Systemfehler, einschließlich ihrer Häufigkeit und Art, um nicht nur langsame, sondern auch fehlerhafte Prozesse zu identifizieren.
Benjamin Eberlei, Gründer und Geschäftsführer von Tideways
Was unterscheidet Tideways von anderen Monitoring Tools auf dem Markt?
Zum einen ist Tideways mittlerweile das einzige Tool, das sich ausschließlich auf die Programmiersprache PHP fokussiert. Zum anderen konzentrieren sich viele Profiling- und Monitoring-Tools entweder auf Website-Monitoring oder auf Profiling. Unser Ansatz war von Anfang an, beides zu integrieren: die Vogelperspektive des Monitorings und das detaillierte Profiling. So kann der Nutzer auf Basis der Monitoring-Übersicht entscheiden, welche tiefergehenden Daten er durch den Profiler benötigt. Die Möglichkeit, festzulegen, für welche Seitentypen mehr Leistungsdaten gesammelt werden sollen, ist einzigartig bei Tideways.
Warum unterstützt Tideways ausschließlich PHP?
Jede Programmiersprache funktioniert anders. Wenn wir Tideways für alle möglichen Programmiersprachen entwickeln würden, müssten wir Abstriche machen und könnten nicht die Besonderheiten der einzelnen Sprachen berücksichtigen. Wir kommen aus der PHP-Community und dadurch, dass wir uns auf PHP fokussieren, können wir für PHP viel bessere Ergebnisse erzielen.
Außerdem besteht unsere Hauptzielgruppe aus E-Commerce-Unternehmen, die ihren Shop selbst betreiben. Sie nutzen PHP-basierte Shopsysteme wie Shopware, Magento und Oxid, aber auch andere Anwendungen, die auf PHP basieren, wie Symfony, TYPO3 und Neos CMS.
Welche Probleme beobachtest du häufig in Onlineshops?
Häufig entstehen Performance-Probleme durch Erweiterungen des Shopsystems, sei es durch Drittanbieter oder eigene Entwicklungen. Jegliche Anpassungen an einem Shopsystem sind vergleichbar mit dem Brechen des Garantiesiegels eines Produkts. Während das Basissystem in der Regel gut optimiert ist, können Anpassungen unvorhergesehene Probleme verursachen.
Was sind deine Best Practices für eine langanhaltend gute Performance?
Meine Empfehlung ist, die Leistung eines Onlineshops dauerhaft zu überwachen, um rechtzeitig reagieren zu können. Es kann sich immer etwas ändern, das außerhalb der eigenen Kontrolle liegt. Einer unserer Kunden hatte beispielsweise das Problem, dass seine Seite immer wieder von einem Bot besucht wurde und der Shop dann für alle Nutzer deutlich langsamer wurde. So etwas erkennt man nicht, wenn man nicht dauerhaft dabei ist.
Shop-Betreiber sollten sehr detailliert auf die Leistung schauen, wenn Änderungen anstehen, etwa bei einer neuen Marketingkampagne, die viele Besucher anlockt. Ein klassisches Beispiel ist TV-Werbung oder besondere Anlässe wie Black Friday. Auch bei einer neuen Version der Webseite oder des Shopsystems, wie beispielsweise bei einem Wechsel zu Shopware 6.6, ist eine detaillierte Performance-Analyse sinnvoll.
Oft beobachten wir, dass Kunden die Performance nur für ein paar Wochen analysieren und dann monatelang ignorieren. Das ist ein Fehler, da sie wichtige Kontextinformationen verlieren und keine Vergleichsdaten haben. Selbst jährliche Analysen sind selten strukturiert genug für Gegenüberstellungen.
Ich vergleiche das gerne mit dem Messen des Blutdrucks: Mit der Regelmäßigkeit bekommt man ein Gefühl für den Herzschlag der eigenen Anwendung und kann bei Veränderungen rechtzeitig reagieren.
Wie können sich Onlineshops auf Leistungsspitzen vorbereiten?
Das geht mithilfe von Lasttests. Man analysiert den aktuellen Traffic und überlegt sich, wie viel Traffic man zum Beispiel bei einer Marketingaktion oder an Black Friday erwartet. Der nächste Schritt ist, den erwarteten Traffic zu simulieren und zu prüfen, ob die Performance weiterhin akzeptabel ist. Das kann manchmal sehr aufwendig sein.
Kannst du ein Beispiel nennen, bei dem ein Kunde signifikante Verbesserungen durch Tideways erzielt hat?
Ja. In einem Shopware-6-Shop, den wir betreuen, gab es immer wieder zufällige Lastspitzen. Unsere Analyse zeigte, dass ein Bot den Warenkorb nutzte und damit Last auf das Datenbanksystem auslöste, was die Seite für andere Nutzer verlangsamte. Wir blockierten den Bot durch Programmcode und stellten fest, dass auch in Shopware selbst ein Teil des Codes suboptimal funktionierte. So schlugen wir Shopware eine Optimierung vor. Diese wurde umgesetzt und das Ergebnis war, dass die Verbesserung in Shopware die Warenkorb-Performance sehr vieler Onlineshops steigerte.
Ich habe noch ein zweites Beispiel, es betrifft ein Server-Upgrade bei uns. Alle vier Jahre tauschen wir unsere Hardware aus und hosten unsere Anwendung auf komplett neuen Servern. In unserem Tideways-Monitoring fiel uns auf, dass eine bestimmte Operation bei einem bestimmten Seitentyp um den Faktor zehn langsamer wurde. Es stellte sich heraus, dass eine fehlerhafte Serverkonfiguration nach dem Hardwarewechsel dafür verantwortlich war. Nach der Korrektur kehrte die Performance zum Normalzustand zurück. Ohne das Monitoring hätten wir das Problem nicht bemerkt und möglicherweise unnötig mehr Serverressourcen oder CPUs hinzu gebucht.
Welche neuen Funktionen oder Entwicklungen können wir in Zukunft von Tideways erwarten?
Wir sind gerade dabei, den Vergleich zwischen verschiedenen Zeiträumen zu verbessern. Man wird nicht nur sehen können, wie sich die Gesamtperformance von heute zu beispielsweise Black Friday verhält, sondern auch begründen können, warum. Heute ist das zwar schon möglich, indem Nutzer die Daten selbst auswählen und miteinander vergleichen. Doch künftig soll die Bedienung einfacher werden und die Vergleiche automatisch vorgeschlagen werden. Außerdem wollen wir die Detailtiefe des Profilers verbessern, damit die Daten, die wir bereits sammeln, immer besser werden und Nutzer schneller und einfacher herausfinden, warum etwas langsam ist.
Können Interessierte Tideways ausprobieren?
Ja, Interessenten können Tideways 14 Tage lang kostenlos testen, indem sie sich auf tideways.com anmelden. Da Tideways mit einer PHP-Extension arbeitet, muss das Tool auf den eigenen Servern installiert werden, um erste Insights zu erhalten.
Nehmen Sie Ihre Shop-Performance in die Hand.
Sie möchten die volle Leistungsfähigkeit von Tideways ausschöpfen? In Kombination mit einem verlässlichen Hosting- und Applikationspartner ist das möglich. Wir holen für Sie das Beste aus Tideways heraus und sorgen für einen reibungslosen Betrieb Ihrer digitalen Plattform. Erfahren Sie mehr darüber, wie wir gemeinsam die Leistung und Kapazitäten Ihres Onlineshops verbessern können!