Automatisiertes Web-Performance Monitoring mit SpeedTracker

Die Grundlage für die Web-Performance Optimierung (WPO) sind Messdaten. Zum einen weil durch Messwerte die Schwachstellen in der Performance bestimmbar (und lokalisierbar) werden und zum anderen, weil die Messungen den Erfolg (oder Misserfolg) der Optimierungsmaßnahme zeigt.

Von Methoden- und Messfehlern einmal abgesehen, sind bei der Performance Optimierung auf Grundlage einer Datenbasis „alternative Fakten“ nicht möglich. Diese Ehrlichkeit macht mir WPO sehr sympathisch. :-)

Messdaten aber wie?

Der Quasi-Standard für die Performancemessung von Internetseiten ist WebPagetest.

image-582126

Hiermit lassen sich alle wichtigen Daten messen – wie zum Beispiel Ladezeiten, Rendering, Anfragen, Dateigrößen usw. Darüber hinaus werden die Messungen – in einem persönlichen Account – bis zu einem Jahr vorgehalten und lassen sich historisch vergleichen.

Für die schnelle IST-Stand-Analyse ist WebPagetest neben den Developer Tools in den Browsern meiner Meinung nach das beste „Messwerkzeug“ überhaupt.

Messdaten grafisch aufbereitet – Monitoring

Zugegeben die Möglichkeit des historischen Vergleichs von Messdaten bei WebPagetest sind schon enorm. Allerdings sind sie relativ umständlich zu abzufragen und nicht geeignet um z.B. dauerhaft Entwicklungen (Trends) aufzuzeigen. Vor allem deshalb, weil die Daten manuell gemessen werden müssen. Es wäre also gut, wenn die Messungen a) automatisiert und b) grafisch aufbereitet werden.

Dank der WebPagetest RESTful API lassen sich alle Messungen „remote“ ausführen und dadurch steuern (Automatisierung), grafisch aufbereiten und archivieren.

Bis hierhin klingt das alles einleuchtend und ganz gut. ABER: Das Messen und Auswerten von Daten über einen längeren Zeitraum wird sehr aufwändig und unübersichtlich. Ohne geeignete Software oder -Service wird das Monitoring von mehreren Websites ganz schnell unübersichtlich und artet in sehr viel Arbeit aus.

Auf dem Markt gibt es bereits entsprechende Tools, die diese Arbeit leisten. Allerdings – und ganz zu Recht! – sind diese Services nicht umsonst. Das macht den Einstieg in die Performance Optimierung unmöglich. Auch für gemeinnützige Web-Projekte mit schmalen Budgets war da nichts zu machen. Bisher fehlte eine kostenlose Alternative.

Aber Rettung ist da: SpeedTracker

Performance Monitoring mit SpeedTracker – Open Source und kostenlos

SpeedTracker ist ein Werkzeug, mit dem sich die Web-Performance von Websites über längere Zeit automatisiert messen lässt. Die Daten werden grafisch aufbearbeitet und auf einer Übersichtsseite ausgegeben:

image-582127

Um SpeedTracker zu betreiben wird lediglich ein GitHub Account benötigt. Wer einen Free Account hat, sollte bedenken, dass die Messdaten dann natürlich öffentlich einsehbar sind. Mit einem Premium Account sind die Daten – bzw. das gesamte Repository – öffentlich nicht sichtbar.

Keine Installationsanleitung!

Ich spare mir die Anleitung für die Installation bzw. Konfiguration. Das ist alles sehr gut bei SpeedTracker beschrieben: https://speedtracker.org/docs

Wer SpeedTracker auf einem eigenen Server betreiben möchte, kann dies natürlich auch. Dazu muss die API angepasst werden. Ich selber habe damit allerdings noch keine Erfahrung.

Performance Budget

Viel Interessanter als die Auslagerung auf einen eigenen Server finde ich die Möglichkeit, ein Performance Budget zu bestimmen. Damit können „Limits“ für bestimmte Messwerte gesetzt werden. Wird so ein Limit überschritten, dann lässt dieses Ereignis ganz praktisch per E-Mail oder Slack mitteilen.

Einschränkung

Das ganze Monitoring bis hin zu GitHub lässt sich kostenlos betreiben. Aber natürlich bringt das auch gewisse Grenzen. Die Messungen pro Tag und Profil sind eingeschränkt:

  1. Je Profil kann maximal zweimal täglich gemessen werden.
  2. Es können insgesamt (also alle Profile zusammen) nur 200 Messungen pro Tag durchgeführt werden.

Die Beschränkung hat mir bisher nie in Probleme gemacht, obwohl ich das recht intensiv nutze.

Allerdings gab es mal eine Ausnahme: In Vorbereitung auf meinen Performance-Vortrag beim WordCamp Köln wollte ich 202 Websites von den Teilnehmerinnen und Teilnehmern auf Performance messen. Mit den obigen Einschränkungen hätte das zwei Tage gedauert. Weil ich aber nur einen Tag Zeit hatte, hatte ich einen Trick angewendet: Einfach einen weiteren API-Key von einem anderen Account (wichtig: andere E-Mail-Adresse!) anfordern… ;-)

This entry was posted on by .

Heiko Mamerow

Buddhist, Vater, Freund, Internetseitenbauer, Sportler, Musikliebhaber & Verkehrsteilnehmer ;-)

2 Gedanken zu „Automatisiertes Web-Performance Monitoring mit SpeedTracker

  1. Gerd Zimmermann

    Hallo Heiko,
    vielen Dank für den hilfreichen Artikel. Das wäre ja fast ein Grund mir einen Premium-Github-Account zuzulegen ;-)
    Eine Frage zu WebPageTest. Wenn ich mich recht erinnere, hattest du im Vortrag in Köln Pingdom, als das genaueste Tool für die Messung der Ladezeiten vorgestellt und damit deine Tests der Teilnehmerseiten gemacht. Habe ich das falsch verstanden?

    Herzliche Grüße
    Gerd

    1. Heiko Mamerow Beitragsautor

      Hallo Gerd,
      meine Tests hatte ich damals auch schon mit WebPagetest gemacht. Pingdom benutze ich nicht, weil es auch nur auf Googles PageSpeed Insights zurückgreift und es stehen viel weniger Orte zur Auswahl.

Kommentare sind geschlossen.