Synthetic Monitoring: Ladezeiten aus mehreren Regionen automatisiert messen

Mit Synthetic Monitoring prüfst du automatisiert, ob eine Website aus ausgewählten Regionen erreichbar ist, Inhalte lädt und wichtige Abläufe funktionieren. Wiederholte Checks machen regionale Abweichungen sichtbar, sofern Browser, Netzwerkbedingungen und Messzeitraum vergleichbar bleiben. Ein einzelner global performance test ist dagegen nur eine Momentaufnahme. Öffentliche Messpunkte bilden zudem bestimmte Netzwerkwege ab und ersetzen nicht die Daten realer Besucher.

Was Synthetic Monitoring zeigt

Synthetic Monitoring führt festgelegte Prüfungen einer Website automatisch und regelmäßig aus. Ein Check beschreibt dabei unter anderem das Ziel, den Zeitplan, die Messpunkte und die Erfolgskriterien. Jede Ausführung an einem Messpunkt erzeugt ein eigenes Ergebnis: Die Konfiguration ist also nicht mit einer einzelnen Messung gleichzusetzen.

Ein einmaliger global performance test zeigt dagegen nur eine Momentaufnahme unter den Bedingungen dieses Laufs. Wiederholtes Website Monitoring macht sichtbar, ob eine Abweichung erneut auftritt und wie sich Ergebnisse über die Zeit entwickeln. Damit solche Vergleiche aussagekräftig sind, müssen Ziel, Messumgebung und Standort erkennbar bleiben.

Ein öffentlicher Messpunkt in einem Cloud-Rechenzentrum prüft die Website aus einer bestimmten Region und Infrastruktur. Seine Verbindung entspricht aber nicht automatisch einem privaten Internetanschluss vor Ort. Routing, Netzwerklatenz und die Entfernung zur ausliefernden Infrastruktur können das Ergebnis beeinflussen; ein langsamer Lauf beschreibt daher zunächst diesen konkreten Messweg.

Eine private Probe beantwortet eine andere Frage: Sie kann prüfen, ob eine Anwendung aus einem privaten Netz erreichbar ist. Das ist etwa für interne Dienste relevant, belegt aber nicht deren Erreichbarkeit aus dem öffentlichen Internet. Umgekehrt sagt ein erfolgreicher öffentlicher Check nicht, ob der Zugriff aus jedem Unternehmensnetz funktioniert.

KI-generiertes Symbolbild einer Netzwerkdose mit angeschlossenem Ethernetkabel in einem Büroraum
KI-generiertes Symbolbild: Eine private Probe prüft die Erreichbarkeit aus einem privaten Netzwerk.

Für die Planung lohnt es sich deshalb, jede Prüfung als konkrete Frage zu formulieren: Ist die Produktseite aus einer wichtigen Zielregion erreichbar, und erscheint dort der erwartete Inhalt? Die Antwort gilt für die gewählten Messpunkte und Testbedingungen. Sie ist ein reproduzierbarer Hinweis, aber kein vollständiges Abbild aller Besucher und ihrer Geräte.

HTTP, Browser und Journeys

Ein HTTP-Check fragt einen Endpunkt ab und bewertet beispielsweise den Statuscode oder die Antwort. Für eine Produktseite kann er schnell anzeigen, dass der Server nicht wie erwartet antwortet. Meldet er HTTP 200, ist damit aber nur das geprüfte Antwortkriterium erfüllt: Ob die Oberfläche sichtbar und bedienbar ist, bleibt offen.

Ein Browser-Check lädt dieselbe Produktseite in einem automatisierten Browser. Er kann prüfen, ob eine erwartete Überschrift erscheint, und browserbezogene Messwerte erfassen. Schlägt diese Prüfung fehl, während der HTTP-Status erfolgreich ist, lohnt sich die Untersuchung von Rendering und Seiteninhalt. Der Unterschied allein beweist jedoch noch keine bestimmte Fehlerursache.

Ein Journey-Check geht über das Laden hinaus und führt definierte Schritte aus. Bei einer Anmeldung öffnet er beispielsweise die Login-Seite, meldet ein geeignetes Testkonto an und prüft anschließend ein erwartetes Element. Erst dieses letzte Kriterium zeigt für den getesteten Ablauf, dass nicht nur die Anmeldeseite erreichbar war.

Auch eine erfolgreiche Journey bestätigt nur die tatsächlich ausgeführten Schritte und Bedingungen. Ein nicht getesteter Passwort-Reset oder ein anderer Browser kann trotzdem Probleme haben. Wähle deshalb wenige geschäftlich wichtige Abläufe und formuliere für jeden Schritt ein überprüfbares Ergebnis, statt aus einem erfolgreichen Seitenaufruf auf den gesamten Dienst zu schließen.

Eine ergänzende visuelle Prüfung kann Veränderungen der Darstellung untersuchen, die ein einzelner Element-Check nicht erfasst. Dazu lassen sich etwa Screenshots vergleichen; Abweichungen müssen anschließend eingeordnet werden, weil nicht jede sichtbare Änderung ein Fehler ist. Weitere Ansätze beschreibt der Beitrag zu Visual Verification und automatisierten Site-Checks.

Ladezeiten richtig unterscheiden

„Ladezeit“ bezeichnet ohne weitere Angabe keine eindeutig vergleichbare Größe. Bei einem Seitenaufruf interessiert zunächst die Zeit bis zur ersten Serverantwort: Sie hilft, Verzögerungen vor dem Eintreffen der Antwort einzuordnen. Sie sagt aber noch nicht, wann der Browser etwas Sichtbares dargestellt oder die Seite vollständig verarbeitet hat.

Das erste sichtbare Rendering beschreibt eine spätere Phase: Der Browser zeigt erstmals Inhalt an. Das kann bereits ein kleiner Text oder ein anderes frühes Element sein, während der wichtigste Seiteninhalt noch fehlt. Ein früher sichtbarer Beginn ist deshalb nicht automatisch gleichbedeutend mit einer schnell nutzbaren Produktseite.

Der Largest Contentful Paint (LCP) betrachtet das Sichtbarwerden des größten relevanten Inhaltselements im sichtbaren Bereich. Bei einer Produktseite kann das etwa das große Produktbild sein. Vergleiche LCP nur mit entsprechend bezeichneten LCP-Werten und halte die Browser- und Netzbedingungen fest; eine Zeit bis zur Serverantwort misst eine andere Phase.

Die Skriptdauer ist wiederum nicht automatisch die Ladezeit einer einzelnen Seite. Ein Skript kann mehrere Seiten aufrufen, auf Elemente warten und eine Anmeldung durchführen. Bei Grafana-k6-Browser-Checks umfasst die ausgewiesene Skriptdauer normalerweise nicht die Startphase von k6; auch solche Werkzeuggrenzen gehören zur Interpretation.

Interaction to Next Paint, kurz INP, betrifft die Reaktion auf Interaktionen. Ein synthetischer Ablauf kann dabei nur die Interaktionen untersuchen, die er tatsächlich ausführt. Ein automatisierter Klick unter festgelegten Bedingungen liefert daher keine Verteilung der Erfahrungen aller realen Besucher, die andere Geräte, Verbindungen und Bedienwege nutzen.

Messplan für Zielregionen

Beginne den Messplan mit den Seiten und Abläufen, deren Ausfall für dein Geschäft relevant wäre. Das können eine Produktseite, die Anmeldung und eine Schnittstelle sein. Wähle anschließend Messregionen nach deinen Zielmärkten: Ein zusätzlicher Standort ist besonders hilfreich, wenn er eine wichtige Nutzerregion abdeckt oder eine bestehende regionale Beobachtung ergänzt.

Für einen vergleichbaren Check hältst du Browser und Version, Gerätedarstellung, Netzwerkbedingungen und Cache-Zustand fest. Dokumentiere außerdem Intervall und Zeitlimit sowie die erwartete Antwort oder das sichtbare Element. So lässt sich später erkennen, ob eine Abweichung mit einer geänderten Messumgebung zusammenfallen könnte.

Die folgende Tabelle ist ein konzeptionelles Beispiel, kein gemessener oder allgemein empfohlener Betriebsplan. Die Intervalle und Alarmbedingungen musst du an die Bedeutung deiner Website und die Möglichkeiten des gewählten Dienstes anpassen.

Beispiel für einen Messplan mit zwei Zielregionen
Seite oder AblaufRegionPrüftypErfolgskriteriumIntervallZuständigkeit und Alarm
ProduktseiteEuropaBrowserÜberschrift sichtbar5 MinutenWebteam; Alarm nach wiederholtem Fehler
ProduktseiteNordamerikaBrowserÜberschrift sichtbar5 MinutenWebteam; regionaler Alarm nach wiederholtem Fehler
AnmeldungEuropaJourneyElement nach Login sichtbar15 MinutenAnwendungsteam; Alarm nach wiederholtem Fehler

Die Tabelle ist nur der Ausgangspunkt: Ergänze in der Check-Konfiguration das konkrete Zeitlimit und die übrigen Messbedingungen. Ein regionaler Alarm bleibt eigenständig sinnvoll, auch wenn andere Standorte erfolgreich melden. Bedenke dabei, dass ein Cloud-Messpunkt nicht automatisch einen privaten Internetanschluss in derselben Region repräsentiert.

Checks und Testabläufe einrichten

Für eine eigene Testseite kannst du zunächst einen HTTP-Check anlegen, der den erwarteten Statuscode prüft. Ergänze einen Browser-Check, der dieselbe Seite aufruft und auf eine erwartete Überschrift wartet. Der erste Check untersucht die Antwort des Endpunkts; der zweite liefert zusätzlich einen Hinweis darauf, ob der erwartete Inhalt im Browser erscheint.

Erfasse für jede Ausführung den Messstandort, den Zeitpunkt, das Ergebnis und die relevante Dauer. Scheitert der Browser-Check bei erfolgreichem HTTP-Check, untersuche Inhalt und Rendering, statt sofort einen bestimmten Fehler zu unterstellen. Prüfe auch, ob sich die Überschrift absichtlich geändert hat oder das Zeitlimit zu knapp gewählt wurde.

Für eine Anmeldung erweitert eine Journey den Browser-Aufruf um Eingaben und eine Prüfung nach dem Login. Verwende ein separates Testkonto mit möglichst wenigen Rechten und prüfe ein stabiles, nicht personenbezogenes Element im angemeldeten Bereich. Der erfolgreiche Aufruf der Anmeldeseite allein bestätigt nicht, dass die Anmeldung funktioniert.

Wähle stabile Selektoren und warte gezielt auf erwartete Inhalte, statt dich allein auf eine feste Pause zu verlassen. Hinterlege Zugangsdaten in der Secret-Verwaltung des eingesetzten Dienstes und nicht im Skript oder in Protokollen. Prüfe nach Änderungen an der Oberfläche, ob Selektoren und Erfolgskriterien noch zum vorgesehenen Ablauf passen.

Begrenze Testabläufe auf sichere Aktionen: Eine regelmäßig ausgeführte Journey soll keine echten Bestellungen oder Zahlungen auslösen. Ist ein schreibender Schritt unvermeidbar, braucht er eine ausdrücklich dafür vorgesehene Testumgebung oder einen kontrollierten Testprozess. Lege zudem fest, wer einen fehlgeschlagenen Lauf untersucht und die Testdaten betreut.

Werkzeuge und Betriebsmodelle vergleichen

Bei der Werkzeugwahl unterscheidest du zwischen einem verwalteten Monitoring-Dienst und einem Werkzeug, das zunächst nur einen Test ausführt. Entscheidend ist nicht allein, ob ein Browser unterstützt wird: Du brauchst außerdem passende Standorte, regelmäßige Ausführung, Ergebnisaufbewahrung und eine Alarmierung, die zu deinem Betrieb passt.

Grafana Cloud Synthetic Monitoring verbindet Check-Konfigurationen mit öffentlichen und privaten Probes und unterstützt k6-basierte Browser-Checks. Öffentliche und private Messpunkte beantworten unterschiedliche Erreichbarkeitsfragen. Prüfe vorab auch die verfügbaren Check-Frequenzen: Browser- und Skript-Checks unterliegen anderen Grenzen als manche einfachen Endpoint-Checks.

Das lokal ausgeführte k6-Browsermodul ist davon zu trennen. Dafür benötigst du k6 und einen Chromium-basierten Browser; ein lokaler Skriptlauf richtet weder automatisch regionale Messpunkte noch einen dauerhaften Zeitplan ein. Für verteiltes Monitoring müsstest du Ausführung, Infrastruktur und Ergebnisverwaltung zusätzlich organisieren oder einen passenden Dienst nutzen.

AWS CloudWatch Synthetics führt geplante Canaries aus. Die Multilocation-Funktion repliziert einen Canary in ausgewählte AWS-Regionen und führt Ergebnisse in einer primären Region zusammen. Prüfe vor der Einführung die dokumentierten Mindestversionen für die unterstützten Node.js-Puppeteer- oder Playwright-Runtimes sowie die gesonderte regionale Verfügbarkeit dieser Funktion.

Selbst betriebene Probes geben dir mehr Kontrolle über Standort und Umgebung, verlangen aber auch Wartung, Updates und Überwachung der Messinfrastruktur. Vergleiche bei allen Betriebsmodellen die tatsächlich angebotenen Standorte, nutzungsabhängigen Kosten und Bedingungen zur Datenhaltung. Kläre insbesondere, wo Screenshots und Protokolle gespeichert werden und ob dies zu deinen Datenschutzvorgaben passt.

Regionale Ergebnisse sinnvoll auswerten

Vergleiche regionale Ergebnisse für dieselbe Seite und denselben Zeitraum. Browser, Version, Netzwerkbedingungen und Cache-Zustand sollten übereinstimmen; andernfalls kann ein Unterschied an der Messumgebung statt an der Auslieferung liegen. Ein Cloud-Messpunkt bildet außerdem einen bestimmten Standort und Netzwerkweg ab, nicht sämtliche Anschlüsse einer Region.

Für wiederholte erfolgreiche Messungen zeigt der Median den mittleren Wert der sortierten Ergebnisse. Ein oberes Perzentil, etwa das 95. Perzentil, macht langsamere Läufe sichtbar: 95 Prozent der betrachteten Werte liegen höchstens bei diesem Wert. Notiere dazu Zeitraum und Anzahl der Messungen, damit erkennbar bleibt, wie breit die Auswertung ist.

Bei wenigen Läufen kann ein einzelner langsamer Aufruf das obere Perzentil stark beeinflussen. Prüfe deshalb den zeitlichen Verlauf und vergleiche mehrere Messfenster, bevor du eine dauerhafte regionale Verschlechterung annimmst. Auch ein Wechsel des Messpunkts oder der Browser-Version gehört als möglicher Einschnitt in die Auswertung.

Halte fehlgeschlagene Läufe getrennt sichtbar, zum Beispiel als Fehlerzahl und Anteil aller Ausführungen. Eine Ladezeitstatistik, die nur erfolgreiche Aufrufe enthält, kann sonst eine Region mit häufigen Timeouts fälschlich gut aussehen lassen. Bei einem Fehlschlag ohne gültigen Ladezeitwert lässt sich nicht einfach eine normale Ladezeit einsetzen.

KI-generierte Illustration getrennter Gruppen für erfolgreiche und fehlgeschlagene Monitoring-Läufe
KI-generierte Illustration: Fehlgeschlagene Läufe gehören neben der Ladezeitstatistik in die Auswertung.

Real User Monitoring ergänzt die kontrollierte Prüfung um Erfahrungen tatsächlicher Besucher. Der Chrome UX Report stellt verfügbare Felddaten über ein rollierendes 28-Tage-Fenster bereit; nicht jede Seite oder Nutzergruppe ist darin abgedeckt. Diese längerfristige Sicht ersetzt daher weder einen aktuellen synthetischen Alarm noch lässt sie sich unmittelbar mit einem einzelnen Probe-Lauf gleichsetzen.

Alarme und regionale Fehlersuche

Ein globaler Alarm kann wiederholte Fehler mehrerer Standorte bündeln. Das hilft, einen breiteren Vorfall von einer isolierten Störung eines Messpunkts zu unterscheiden. Lege zugleich eine regionale Alarmbedingung fest: Wenn ein wichtiger Zielmarkt ausfällt, darf der Erfolg anderer Regionen das Problem nicht verdecken.

Wähle Wiederholungen und Zeitfenster passend zur Bedeutung des Ablaufs. Mehrere fehlgeschlagene Prüfungen hintereinander können kurzfristige Ausreißer abfangen, verzögern aber die Meldung. Überwache auch die Messpunkte selbst und untersuche, ob ein Probe ausgefallen ist oder ob andere Prüfungen desselben Standorts ebenfalls betroffen sind.

Ist eine Produktseite nur an einem Standort langsam, beginne mit dem Vergleich gleichartiger Läufe und dem Zeitpunkt der Abweichung. Untersuche anschließend DNS-Auflösung, CDN-Auslieferung, Ressourcenladezeiten und Serverantwort. Unterschiedliche Netzwerkwege und die Nähe zur Infrastruktur können regionale Ausgangsniveaus beeinflussen; der Messwert allein identifiziert noch keine Ursache.

Bei Ressourcen anderer Origins sind Details der Browser-Messung möglicherweise eingeschränkt. Ohne passenden Timing-Allow-Origin-Header können einzelne Werte der Resource-Timing-API null sein. Das bedeutet nicht automatisch, dass die Verbindung extrem schnell war; prüfe zunächst, welche Angaben der fremde Server für die Messung freigibt.

Für die nächste Untersuchungsebene verknüpfst du Zeitpunkt, Region und betroffenen Ablauf mit verfügbaren Logs und Traces. So lässt sich etwa nach einer langsamen Anfrage suchen, ohne aus einer Korrelation bereits einen Ursachenbeweis zu machen. Wie Metriken, Logs und Traces zusammenwirken, erklärt der Beitrag zu Observability im Hosting.

Monitoring dauerhaft betreiben

Beginne mit einfachen Endpoint-Checks für wichtige öffentlich erreichbare Ziele und ergänze gezielte Browser-Journeys für geschäftskritische Seiten oder Anmeldungen. Ein HTTP-Check kann häufiger laufen, während der aufwendigere Browser-Test ausgewählte Funktionen prüft. Die Intervalle richtest du nach gewünschter Erkennungszeit, Dienstgrenzen und Kosten aus, nicht nach einem pauschalen Minutenwert.

Bestimme für jeden Check eine Zuständigkeit: Wer erhält den Alarm, wer prüft den betroffenen Dienst und wer betreut den Messpunkt? Halte auch fest, wann ein Alarm weitergegeben wird und wo die zugehörigen Ergebnisse zu finden sind. Ein Check ohne Reaktion auf wiederholte Fehler liefert zwar Daten, behebt aber keinen Vorfall.

Prüfe nach Änderungen an der Oberfläche, ob Selektoren und erwartete Inhalte noch zum Ablauf passen. Warte im Skript auf das benötigte Element, statt dich allein auf eine feste Verzögerung zu verlassen. Änderungen an Browser, Netzwerkprofil oder Cache-Einstellungen dokumentierst du, damit spätere Vergleiche nicht unbemerkt verschiedene Messbedingungen vermischen.

Behandle Screenshots und Protokolle als potenziell sensible Daten: Sie können Inhalte einer Sitzung oder Angaben aus der Anwendung enthalten. Begrenze Zugriff und Aufbewahrung entsprechend dem Zweck und prüfe, was der Test tatsächlich aufzeichnet. Für Anmeldungen nutzt du ein eingeschränktes Testkonto und verwaltest Zugangsdaten als Secrets statt im Skript.

Überprüfe regelmäßig, ob Messstandorte noch zu deinen Zielmärkten passen und ob Tarif, Datenhaltung und Datenschutzanforderungen den Betrieb weiterhin erlauben. Bei selbst betriebenen Probes kommen Aktualisierung und Überwachung der Umgebung hinzu. Ein lokal gestartetes k6-Browserskript allein stellt noch keine dauerhaft verteilte Monitoring-Infrastruktur bereit.

Quellen und fachlicher Stand

Recherche-Stand:

Recherchestand: 13. November 2026. Messstandorte, Runtime-Voraussetzungen, Tarife und Datenschutzbedingungen vor Veröffentlichung erneut prüfen.

https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/?pg=full-stack-observability-with-knowledge-graph&plcmt=in-text

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_MultiLocation.html

https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/checks/?pg=manage-synthetic-checks-at-scale-introducing-folders-in-grafana-cloud-synthetic-monitoring&plcmt=in-text

https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/checks/k6-browser/?cnt=description&mdm=social&src=yt

https://grafana.com/docs/grafana-cloud/observe-and-act/testing/synthetic-monitoring/create-checks/

https://grafana.com/docs/k6/latest/using-k6-browser/

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html

https://developer.chrome.com/docs/crux/api?authuser=106

https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming

Aktuelle Artikel

KI-generierte Illustration einzelner Arbeitsbahnen durch eine gemeinsam begrenzte Fläche als Sinnbild für CPU-Arbeit und Zeitbudget
Server und virtuelle Maschinen

Shared Hosting: Wann schnelle CPUs trotz geringer Kernzahl helfen

Eine schnelle CPU kann dynamische PHP-Anfragen im Shared Hosting verkürzen. Entscheidend sind aber auch CPU-Zeitbudget, Worker, Cache und Wartezeiten. So findest du heraus, welche Ressource deinem Projekt hilft.