Nutzerorientierte Leistungsmesswerte

Wir alle wissen, wie wichtig Leistung ist. Aber was genau meinen wir damit, wenn wir über Leistung und die Schnelligkeit von Websites sprechen?

Die Wahrheit ist, dass die Leistung relativ ist:

  • Eine Website kann für einen Nutzer schnell sein (in einem schnellen Netzwerk mit einem leistungsstarken Gerät), für einen anderen aber langsam (in einem langsamen Netzwerk mit einem Low-End-Gerät).
  • Der Ladevorgang von zwei Websites ist möglicherweise in genau der gleichen Zeit abgeschlossen, aber bei einer Website scheint eine Seite schneller zu laden, wenn die Inhalte nach und nach geladen werden, anstatt bis zum Ende mit der Anzeige von Inhalten zu warten.
  • Eine Website scheint schnell zu laden, reagiert dann aber langsam oder gar nicht auf Nutzerinteraktionen.

Wenn es um die Leistung geht, ist es wichtig, präzise zu sein und sich auf die Leistung in Bezug auf metrics zu beziehen, d. h. objektive Kriterien, die quantitativ gemessen werden können. Wichtig ist aber auch, dass die gemessenen Messwerte nützlich sind.

Messwerte

In der Vergangenheit wurde die Webleistung mit dem Ereignis load gemessen. Obwohl load ein klar definierter Moment im Lebenszyklus einer Seite ist, muss dieser Moment für den Nutzer relevant sein.

Ein Server könnte beispielsweise mit einer minimalen Seite antworten, die sofort „geladen“ wird, dann aber das Abrufen von Inhalten oder das Anzeigen von Inhalten auf der Seite einige Sekunden nach Auslösung des load-Ereignisses verzögert. Technisch gesehen hat eine solche Seite eine schnelle Ladezeit, aber diese Zeit entspricht nicht der Art und Weise, wie der Nutzer die Seite lädt.

In den letzten Jahren haben Mitglieder des Chrome-Teams in Zusammenarbeit mit der W3C Web Performance Working Group an der Standardisierung einer Reihe neuer APIs und Messwerte gearbeitet, die besser messen, wie Nutzer die Leistung einer Webseite erleben.

Damit die Messwerte für Nutzer relevant sind, stellen wir ihnen einige wichtige Fragen:

Kommt das vor? Wurde die Navigation erfolgreich gestartet? Hat der Server geantwortet?
Sind sie nützlich? Wurde genug Inhalt gerendert, sodass Nutzer damit interagieren können?
Ist sie nutzungsfreundlich? Können Nutzende mit der Seite interagieren oder sind sie überlastet?
Entspannt? Sind die Interaktionen reibungslos, ohne Verzögerungen?

So werden Messwerte gemessen

Leistungsmesswerte werden im Allgemeinen auf eine von zwei Arten gemessen:

  • Im Lab: Verwenden von Tools, um einen Seitenaufbau in einer konsistenten, kontrollierten Umgebung zu simulieren
  • Im Feld: bei echten Nutzern, die die Seite tatsächlich laden und mit ihr interagieren

Keine dieser Optionen ist grundsätzlich besser oder schlechter als die andere. Im Allgemeinen sollten Sie beide verwenden, um eine gute Leistung zu erzielen.

Im Labor

Bei der Entwicklung neuer Funktionen ist es wichtig, die Leistung im Labor zu testen. Bevor Features in der Produktion veröffentlicht werden, ist es unmöglich, ihre Leistungsmerkmale an echten Nutzern zu messen. Deshalb ist es am besten, Leistungseinbußen zu verhindern, wenn sie vor der Veröffentlichung der Features im Labor getestet werden.

Im Außendienst

Andererseits sind Tests zwar ein sinnvoller Indikator für die Leistung, aber sie spiegeln nicht unbedingt wider, wie alle Nutzer Ihre Website erleben.

Die Leistung einer Website kann je nach Gerätefunktionen und Netzwerkbedingungen eines Nutzers stark variieren. Sie kann auch variieren, je nachdem, ob oder wie ein Nutzer mit der Seite interagiert.

Seitenladevorgänge sind außerdem nicht immer deterministisch. Beispielsweise können sich bei Websites, auf denen personalisierte Inhalte oder Anzeigen geladen werden, von Nutzer zu Nutzer ganz unterschiedliche Leistungsmerkmale unterscheiden. In einem Labortest werden diese Unterschiede nicht erfasst.

Die einzige Möglichkeit, die Leistung Ihrer Website für Ihre Nutzer genau zu verstehen, besteht darin, die Leistung beim Laden und Interagieren mit der Website zu messen. Diese Art der Messung wird allgemein als Real User Monitoring (RUM) bezeichnet.

Messwerttypen

Es gibt mehrere andere Arten von Messwerten, die dafür relevant sind, wie Nutzer die Leistung wahrnehmen:

  • Wahrgenommene Ladegeschwindigkeit:Dieser Wert gibt an, wie schnell eine Seite geladen und alle visuellen Elemente auf dem Bildschirm gerendert werden kann.
  • Reaktionsschnelligkeit bei Ladevorgängen:Dieser Wert gibt an, wie schnell eine Seite geladen und JavaScript-Code ausgeführt werden kann, der erforderlich ist, damit Komponenten schnell auf Nutzerinteraktionen reagieren.
  • Responsivität der Laufzeit:Hier wird angegeben, wie schnell eine Seite nach dem Laden auf Nutzerinteraktionen reagieren kann.
  • Visuelle Stabilität:Verschieben sich Elemente auf der Seite so, wie es Nutzer nicht erwarten, was ihre Interaktionen beeinträchtigt?
  • Flüssigkeit:Werden Übergänge und Animationen mit einer konsistenten Framerate gerendert und fließen sie flüssig von einem Zustand zum nächsten?

Angesichts all dieser Arten von Leistungsmesswerten ist hoffentlich klar, dass kein Messwert ausreicht, um alle Leistungsmerkmale einer Seite zu erfassen.

Wichtige zu messende Messwerte

First Contentful Paint (FCP)
Die Zeitspanne zwischen dem Laden der Seite und dem Rendern eines Teils des Seiteninhalts auf dem Bildschirm. (Lab, Feld)
Largest Contentful Paint (LCP)
Die Zeitspanne zwischen dem Laden der Seite und dem Rendern des größten Textblocks oder Bildelements auf dem Bildschirm. (Lab, Feld)
Interaction to Next Paint (INP)
Die Latenz bei jedem Tippen, jedem Klick oder jeder Tastaturinteraktion auf der Seite. Anhand der Anzahl der Interaktionen wird bei diesem Messwert die schwächste (oder am geringsten) Interaktionslatenz der Seite als einzelnen, repräsentativen Wert bestimmt, um die allgemeine Reaktionsgeschwindigkeit der Seite zu beschreiben. (Lab, Feld)
Total Blocking Time (TBT)
Die Gesamtzeit zwischen FCP und Zeit bis Interaktivität (Time to Interactive, TTI), bei der der Hauptthread lange genug blockiert wurde, um die Reaktionsfähigkeit der Eingabe zu verhindern. (Lab)
Cumulative Layout Shift (CLS)
Die kumulative Punktzahl aller unerwarteten Layoutverschiebungen, die zwischen dem Laden der Seite und dem Wechsel des Lebenszyklusstatus zu „Ausgeblendet“ auftreten. (Lab, Feld)
Time to First Byte (TTFB)
Die Zeit, die das Netzwerk benötigt, um auf eine Nutzeranfrage mit dem ersten Byte einer Ressource zu antworten. (Lab, Feld)

Diese Liste enthält Messwerte, die viele der verschiedenen Leistungsaspekte berücksichtigen, die für Nutzer relevant sind, enthält jedoch nicht alle Aspekte. Beispielsweise werden die Reaktionsfähigkeit und Flüssigkeit der Laufzeit nicht berücksichtigt.

In einigen Fällen werden neue Messwerte eingeführt, um fehlende Bereiche abzudecken. In anderen Fällen sind die Messwerte, die speziell auf Ihre Website zugeschnitten sind, die besten.

Benutzerdefinierte Messwerte

Anhand der hier aufgeführten Leistungsmesswerte erhalten Sie einen allgemeinen Überblick über die Leistungsmerkmale der meisten Websites im Web. Sie eignen sich außerdem gut, um über gemeinsame Messwerte für Websites zu verfügen, mit denen sie ihre Leistung mit der Konkurrenz vergleichen können.

Es kann jedoch vorkommen, dass eine bestimmte Website in irgendeiner Weise einzigartig ist und zusätzliche Messwerte erfordert, um ein vollständiges Leistungsbild zu erhalten. Mit dem LCP-Messwert soll beispielsweise erfasst werden, wann der Hauptinhalt einer Seite vollständig geladen ist. Es kann jedoch auch Fälle geben, in denen das größte Element nicht Teil des Hauptinhalts der Seite ist, sodass der LCP irrelevant ist.

Um solche Fälle zu berücksichtigen, hat die Arbeitsgruppe „Web Performance“ auch untergeordnete APIs standardisiert, die für die Implementierung eigener benutzerdefinierter Messwerte nützlich sind:

Im Leitfaden Benutzerdefinierte Messwerte erfahren Sie, wie Sie mit diesen APIs die spezifischen Leistungsmerkmale Ihrer Website messen können.