Variabilität von Leuchtturm

Die Leistung von Webseiten wird von vielen Faktoren beeinflusst. Lighthouse-Leistungswerte ändern sich tendenziell aufgrund der inhärenten Schwankungen bei Web- und Netzwerktechnologien, selbst wenn die Seite nicht geändert wurde.

Quellen der Variabilität

Abweichungen bei der Leistungsmessung werden über eine Reihe von Kanälen mit unterschiedlichen Auswirkungen eingeführt. Die folgende Tabelle enthält mehrere häufige Quellen der Messwertvariabilität, deren typische Auswirkungen auf die Ergebnisse und das Ausmaß, in dem sie wahrscheinlich in verschiedenen Umgebungen auftreten.

Quelle Auswirkungen Typischer Endnutzer PageSpeed Insights Kontrolliertes Lab
Nichtdeterminismus der Seite Hoch Wahrscheinlich Wahrscheinlich Wahrscheinlich
Variabilität lokaler Netzwerke Hoch Wahrscheinlich UNWAHRSCHEINLICH UNWAHRSCHEINLICH
Tier-1-Netzwerkvariabilität Medium POSSIBLE POSSIBLE POSSIBLE
Webservervariabilität Niedrig Wahrscheinlich Wahrscheinlich Wahrscheinlich
Variabilität der Clienthardware Hoch Wahrscheinlich UNWAHRSCHEINLICH UNWAHRSCHEINLICH
Konflikt bei Clientressourcen Hoch Wahrscheinlich POSSIBLE UNWAHRSCHEINLICH
Nichtdeterminismus des Browsers Medium BESTIMMTE BESTIMMTE BESTIMMTE

Nachfolgend finden Sie detailliertere Beschreibungen der Varianzquellen und ihrer Auswirkungen auf die wahrscheinlichsten Kombinationen aus Lighthouse-Laufzeit und Umgebung. Obwohl die angewandte Drosselung und simulierte Drosselung in jeder dieser drei Umgebungen verwendet werden können, verwendet der typische Endnutzer die simulierte Drosselung.

Nichtdeterminismus der Seite

Seiten können Logik enthalten, die nicht deterministisch ist und die die Art und Weise ändert, wie ein Nutzer eine Seite sieht. Beispielsweise kann es sich um einen A/B-Test handeln, bei dem das Layout und die geladenen Assets geändert werden, oder um eine andere Anzeige je nach Fortschritt der Kampagne. Dies ist eine bewusste und unentfernbare Varianzquelle. Wenn sich die Seite so ändert, dass die Leistung beeinträchtigt wird, sollte Lighthouse dies erkennen können. Die einzige Abhilfe dafür besteht darin, dass der Websiteinhaber dafür sorgt, dass immer dieselbe Version der Seite zwischen verschiedenen Ausführungen getestet wird.

Variabilität des lokalen Netzwerks

Lokale Netzwerke weisen inhärente Schwankungen aufgrund des Paketverlusts, der variablen Trafficpriorisierung und der Netzwerküberlastung auf der letzten Meile auf. Nutzer mit günstigen Routern und vielen Geräten mit begrenzter Bandbreite sind in der Regel am anfälligsten dafür. Durch die angewendete Drosselung werden diese Auswirkungen teilweise abgemildert, da eine minimale Anfragelatenz und ein maximaler Durchsatz angewendet werden, die zugrunde liegende Wiederholungsversuche maskiert. Die simulierte Drosselung verringert diese Auswirkungen, da die Netzwerkaktivität eigenständig wiedergegeben wird.

Tier-1-Netzwerkvariabilität

Netzwerkverbindungen sind in der Regel sehr stabil und haben nur minimale Auswirkungen, aber bei standortübergreifenden Anfragen, d.h. bei der Messung der Leistung eines chinesischen Standorts in den USA, kann es zu einer hohen Latenz kommen, die durch Tier-1-Netzwerk-Hops entsteht. Bei der angewendeten Drosselung werden diese Effekte durch Netzwerkdrosselung teilweise maskiert. Die simulierte Drosselung verringert diese Auswirkungen, da die Netzwerkaktivität eigenständig wiedergegeben wird.

Webservervariabilität

Webserver haben eine variable Last und reagieren nicht immer mit der gleichen Verzögerung. Websites mit geringerem Traffic mit gemeinsam genutzter Hostinginfrastruktur sind in der Regel anfälliger dafür. Bei der angewandten Drosselung werden diese Effekte teilweise maskiert, indem bei der Netzwerkdrosselung eine minimale Anfragelatenz angewendet wird. Die simulierte Drosselung ist anfällig für diesen Effekt, aber die Gesamtauswirkung ist im Vergleich zu anderen Netzwerkvariabilität in der Regel gering.

Variabilität der Client-Hardware

Die Hardware, auf der die Webseite geladen wird, kann die Leistung erheblich beeinträchtigen. Durch die angewendete Drosselung lässt sich dieses Problem nicht beheben. Eine simulierte Drosselung minimiert dieses Problem teilweise, indem die theoretische Ausführungszeit von CPU-Aufgaben während der Simulation begrenzt wird.

Konflikt bei Clientressourcen

Andere Anwendungen, die auf demselben Computer ausgeführt werden, während Lighthouse ausgeführt wird, können zu Konflikten bei CPU-, Arbeitsspeicher- und Netzwerkressourcen führen. Malware, Browsererweiterungen und Antivirensoftware wirken sich besonders stark auf die Webleistung aus. Auch mandantenfähige Serverumgebungen (wie Travis, AWS usw.) können unter diesen Problemen leiden. Wenn Sie mehrere Instanzen von Lighthouse gleichzeitig ausführen, werden die Ergebnisse aufgrund dieses Problems in der Regel verzerrt. Die angewendete Drosselung ist anfällig für dieses Problem. Durch die simulierte Drosselung wird dieses Problem teilweise gemindert, da die Netzwerkaktivität allein wiedergegeben und die CPU-Ausführung begrenzt wird.

Nichtdeterminismus des Browsers

Die Ausführung von Aufgaben in Browsern variiert, was sich darauf auswirkt, wie Webseiten geladen werden. Dies ist bei der angewendeten Drosselung unvermeidbar, da nur die vom Browser beobachteten Ereignisse gemeldet werden. Die simulierte Drosselung kann diesen Effekt teilweise abschwächen, indem die Ausführung alleine simuliert wird. Dabei werden nur die Ausführungszeiten der Aufgaben aus dem Browser in der Schätzung wiederverwendet.

Auswirkungen von Drosselungsstrategien

In der folgenden Tabelle sind mehrere häufige Quellen von Messwertvariabilität, die typischen Auswirkungen auf die Ergebnisse und das Maß aufgeführt, in dem verschiedene Lighthouse-Drosselungsstrategien ihre Auswirkungen mindern können. Weitere Informationen zu den verschiedenen Drosselungsstrategien finden Sie in unserer Dokumentation zur Drosselung.

Quelle Auswirkungen Simulierte Drosselung Angewendete Drosselung Keine Drosselung
Nichtdeterminismus der Seite Hoch KEINE EINSCHRÄNKUNG KEINE EINSCHRÄNKUNG KEINE EINSCHRÄNKUNG
Variabilität lokaler Netzwerke Hoch EINGESTELLT TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG
Tier-1-Netzwerkvariabilität Medium EINGESTELLT TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG
Webservervariabilität Niedrig KEINE EINSCHRÄNKUNG TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG
Variabilität der Clienthardware Hoch TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG KEINE EINSCHRÄNKUNG
Konflikt bei Clientressourcen Hoch TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG KEINE EINSCHRÄNKUNG
Nichtdeterminismus des Browsers Medium TEILNAHME GESCHLOSSEN KEINE EINSCHRÄNKUNG KEINE EINSCHRÄNKUNG

Strategien für den Umgang mit Varianz

Externe Faktoren isolieren

  • Isolieren Sie Ihre Seite so weit wie möglich vom Einfluss Dritter. Es macht nie Spaß, für die Fehler eines anderen Nutzers die Schuld zu geben.
  • Isolieren Sie beim Testen den Nichtdeterminismus Ihres Codes. Wenn Sie eine Animation haben, die zufällig erscheint, könnten Ihre Leistungszahlen auch zufällig sein.
  • Isolieren Sie Ihren Testserver von möglichst vielen Netzwerkvolatilität. Verwenden Sie localhost oder einen Computer im selben Netzwerk, wenn es um die Stabilität geht.
  • Isolieren Sie Ihre Clientumgebung von externen Einflüssen wie Antivirensoftware und Browsererweiterungen. Verwenden Sie nach Möglichkeit ein spezielles Gerät zum Testen.

Wenn die Ressourcen Ihres Computers sehr begrenzt sind oder die Erstellung einer sauberen Umgebung schwierig war, verwenden Sie eine gehostete Lab-Umgebung wie PageSpeed Insights oder WebPageTest, um die Tests für Sie durchzuführen. Verwenden Sie für Continuous-Integration-Situationen nach Möglichkeit dedizierte Server. Kostenlose CI-Umgebungen und „Bursting-Instanzen“ sind in der Regel relativ flüchtig.

Lighthouse mehrmals ausführen

Verwenden Sie beim Erstellen Ihrer Schwellenwerte für nicht bestandene Fehler, egal ob mental oder programmatisch, anstelle von Einzeltests zusammengefasste Werte wie den Medianwert, das 90. Perzentil oder sogar die Mindestwerte.

Der Medianwert von 5 Durchläufen in Lighthouse ist doppelt so stabil wie bei einem Durchlauf und Tools wie pwmetrics können Lighthouse automatisch für Sie ausführen. Die Verwendung des Minimalwerts ist im Vergleich zu keinen Tests eine große Verbesserung. Die Implementierung ist unglaublich einfach. Führen Sie einfach bis zu fünfmal Lighthouse aus, bis die Prüfung bestanden ist.

Feedback

War diese Seite hilfreich?
Ja
Was war das Beste an dieser Seite?
Die App hat mir geholfen, mein(e) Ziel(e) zu erreichen.
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Die Informationen, die ich brauchte,
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Die Informationen waren korrekt
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Sie war leicht zu lesen.
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Sonstiges
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Nein
Was war das Schlimmste an dieser Seite?
Es hat mir nicht geholfen, mein(e) Ziel(e) zu erreichen.
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Es fehlten Informationen, die ich brauchte
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Die Informationen waren fehlerhaft
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Sie war schwer zu lesen
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.
Sonstiges
Vielen Dank für dein Feedback. Wenn Sie konkrete Verbesserungsvorschläge für diese Seite haben, erstellen Sie ein Problem.