Variabilité Lighthouse

De nombreux facteurs contribuent aux performances des pages Web. Les scores de performances Lighthouse ont tendance à changer en raison de la variabilité inhérente aux technologies Web et réseau, même si aucune modification n'a été apportée à la page.

Sources de variabilité

La variabilité de la mesure des performances est introduite via un certain nombre de canaux avec différents niveaux d'impact. Vous trouverez ci-dessous un tableau contenant plusieurs sources courantes de variabilité des métriques, l'impact type qu'elles ont sur les résultats et l'étendue dans laquelle elles sont susceptibles de se produire dans différents environnements.

Source Impact Utilisateur final type PageSpeed Insights Laboratoire contrôlé
Non-déterminisme de la page Élevé LIKELY LIKELY LIKELY
Variabilité du réseau local Élevé LIKELY IMPROBABLE IMPROBABLE
Variabilité du réseau de niveau 1 Moyenne POSSIBLE POSSIBLE POSSIBLE
Variabilité des serveurs Web Faibles LIKELY LIKELY LIKELY
Variabilité du matériel client Élevé LIKELY IMPROBABLE IMPROBABLE
Conflit de ressources client Élevé LIKELY POSSIBLE IMPROBABLE
Non-déterminisme du navigateur Moyenne CERTAIN CERTAIN CERTAIN

Vous trouverez ci-dessous des descriptions plus détaillées des sources de variance et de leur impact sur les combinaisons les plus probables d'environnement d'exécution et d'environnement Lighthouse. Bien que la limitation appliquée et les approches de limitation simulées puissent être utilisées dans l'un de ces trois environnements, l'utilisateur final type utilise une limitation simulée.

Non-déterminisme de la page

Les pages peuvent contenir une logique non déterministe qui modifie la façon dont un utilisateur explore une page. Il peut s'agir d'un test A/B qui modifie la mise en page et les composants chargés, ou d'une expérience publicitaire différente en fonction de la progression de la campagne. Il s’agit d’une source de variance intentionnelle et irrévocable. Si la page change d'une manière qui nuit aux performances, Lighthouse devrait être en mesure d'identifier ce cas de figure. La seule mesure d'atténuation consiste à s'assurer que le propriétaire du site s'assure que la même version de la page est testée entre différentes exécutions.

Variabilité du réseau local

Les réseaux locaux présentent une variabilité inhérente à la perte de paquets, à la hiérarchisation variable du trafic et à l'encombrement du réseau sur le dernier kilomètre. Les utilisateurs disposant de routeurs bon marché et de nombreux appareils partageant une bande passante limitée sont généralement les plus sensibles. La limitation appliquée atténue partiellement ces effets en appliquant une latence de requête minimale et un débit maximal qui masquent les nouvelles tentatives sous-jacentes. La limitation simulée atténue ces effets en relançant l'activité réseau par elle-même.

Variabilité du réseau de niveau 1

Les interconnexions réseau sont généralement très stables et ont un impact minimal, mais les requêtes multi-zones géographiques, c'est-à-dire la mesure des performances d'un site chinois aux États-Unis, peuvent commencer à rencontrer un niveau de latence élevé introduit par les sauts de réseau de niveau 1. La limitation appliquée masque partiellement ces effets avec la limitation du réseau. La limitation simulée atténue ces effets en relançant l'activité réseau par elle-même.

Variabilité du serveur Web

Les serveurs Web ont une charge variable et ne répondent pas toujours dans le même délai. Les sites à faible trafic avec une infrastructure d'hébergement partagée sont généralement plus sensibles à cela. La limitation appliquée masque partiellement ces effets en appliquant une latence de requête minimale à son réseau. La limitation simulée est sensible à cet effet, mais l'impact global est généralement faible par rapport à d'autres variabilités du réseau.

Variabilité du matériel client

Le matériel sur lequel la page Web se charge peut avoir un impact considérable sur ses performances. La limitation appliquée ne peut pas faire grand-chose pour atténuer ce problème. La limitation simulée réduit partiellement ce problème en limitant le temps d'exécution théorique des tâches du processeur pendant la simulation.

Conflit de ressources client

D'autres applications exécutées sur la même machine que Lighthouse est en cours d'exécution peuvent entraîner des conflits au niveau des ressources de processeur, de mémoire et de réseau. Les logiciels malveillants, les extensions de navigateur et les antivirus ont un impact particulièrement important sur les performances Web. Les environnements de serveur mutualisé (tels que Travis, AWS, etc.) peuvent également être affectés par ces problèmes. En général, l'exécution simultanée de plusieurs instances de Lighthouse déforme également les résultats en raison de ce problème. La limitation appliquée est susceptible à ce problème. La limitation simulée réduit partiellement ce problème en relançant seule l'activité réseau et en plafonnant l'exécution du processeur.

Non-déterminisme du navigateur

La variabilité d'exécution des tâches des navigateurs dépend de la manière dont les pages Web sont chargées. Cela est inévitable pour les limitations appliquées, car en fin de compte, elles ne font que signaler tout ce qui a été observé par le navigateur. La limitation simulée peut atténuer partiellement cet effet en simulant l'exécution seule, en ne réutilisant que les temps d'exécution des tâches du navigateur dans son estimation.

Effet des stratégies de limitation

Vous trouverez ci-dessous un tableau contenant plusieurs sources courantes de variabilité des métriques, l'impact type qu'elles ont sur les résultats et la mesure dans laquelle différentes stratégies de limitation de Lighthouse sont capables d'atténuer leur effet. Pour en savoir plus sur les différentes stratégies de limitation, consultez notre documentation sur la limitation.

Source Impact Limitation simulée Limitation appliquée Aucune limitation
Non-déterminisme de la page Élevé AUCUNE Atténuation AUCUNE Atténuation AUCUNE Atténuation
Variabilité du réseau local Élevé Atténué ENTIÈREMENT atténuer AUCUNE Atténuation
Variabilité du réseau de niveau 1 Moyenne Atténué ENTIÈREMENT atténuer AUCUNE Atténuation
Variabilité des serveurs Web Faibles AUCUNE Atténuation ENTIÈREMENT atténuer AUCUNE Atténuation
Variabilité du matériel client Élevé ENTIÈREMENT atténuer AUCUNE Atténuation AUCUNE Atténuation
Conflit de ressources client Élevé ENTIÈREMENT atténuer AUCUNE Atténuation AUCUNE Atténuation
Non-déterminisme du navigateur Moyenne ENTIÈREMENT atténuer AUCUNE Atténuation AUCUNE Atténuation

Stratégies pour gérer les écarts

Isoler les facteurs externes

  • Isolez autant que possible votre page de toute influence tierce. Il n'est jamais amusant d'être responsable des défaillances de variables de quelqu'un d'autre.
  • Isolez le non-déterminisme de votre propre code lors des tests. Si une animation s'affiche de manière aléatoire, les chiffres de vos performances peuvent aussi être aléatoires.
  • Isolez votre serveur de test de la plus grande volatilité du réseau. Utilisez localhost ou une machine sur le même réseau exact pour chaque problème de stabilité.
  • Isolez votre environnement client des influences externes telles que les logiciels antivirus et les extensions de navigateur. Si possible, utilisez un appareil dédié pour les tests.

Si les ressources de votre machine sont vraiment limitées ou si la création d'un environnement propre s'est avéré difficile, utilisez un environnement de laboratoire hébergé comme PageSpeed Insights ou WebPageTest pour exécuter vos tests à votre place. Dans les situations d'intégration continue, utilisez des serveurs dédiés lorsque cela est possible. Les environnements CI sans frais et les instances "rafraîchissantes" sont généralement assez volatils.

Exécuter Lighthouse plusieurs fois

Lorsque vous créez vos seuils d'échec, mentaux ou programmatiques, utilisez des valeurs agrégées telles que la médiane, le 90e centile, ou même la valeur minimale, au lieu de tests uniques.

Le score Lighthouse médian de 5 exécutions est deux fois plus stable qu'une exécution, et des outils tels que pwmetrics peuvent exécuter Lighthouse automatiquement. L'utilisation de la valeur minimale représente également une nette amélioration par rapport à l'absence de tests. De plus, elle est incroyablement simple à implémenter. Il vous suffit d'exécuter Lighthouse jusqu'à cinq fois jusqu'à ce que l'opération réussisse.

Commentaires

Cette page vous a-t-elle été utile ?
Oui
Quel était le meilleur aspect de cette page ?
Cela m'a aidé à atteindre mes objectifs
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Il contenait les informations dont j'avais besoin
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Les informations étaient exactes
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
C'était facile à lire
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Autre
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Non
Qu'est-ce qui a été le pire sur cette page ?
Cela ne m'a pas aidé à atteindre mes objectifs
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Il manquait les informations dont j'avais besoin
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Elle comportait des informations inexactes
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Contenu difficile à lire
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.
Autre
Merci d'avoir donné votre avis. Si vous avez des suggestions spécifiques pour améliorer cette page, veuillez signaler un problème.