février 25, 2022

Comment Mesurer Correctement la latence en 7 minutes

Pour mesurer correctement la latence, vous devez disposer de données de qualité. Il y a une raison pour laquelle les « Perspectives mondiales du PDG 2016 » de KPMG ont révélé que 84% des PDG sont préoccupés par la qualité des données sur lesquelles ils fondent leurs décisions et c’est parce que trop souvent, les données peuvent induire en erreur.

La différence entre les entreprises qui se soucient de leurs données et qui ne le font pas est énorme. Les chercheurs du MIT ont constaté que les entreprises qui ont adopté une conception axée sur les données ont un rendement supérieur de 5 à 6% à ce qui serait attendu compte tenu de leurs autres investissements et de leur utilisation des technologies de l’information. Cette seule raison rend la compréhension de la latence essentielle au succès de l’entreprise.

En seulement 7 minutes, vous apprendrez tout ce que vous devez savoir sur la mesure de la latence

  • comment mesurer la latence
  • pourquoi la mesurer correctement est importante
  • pièges courants lorsque vous examinez vos données de latence
  • la criticité du retour instantané
  • pourquoi des données non échantillonnées sont nécessaires

Alors, Qu’est-ce que la latence ?

Dictionary.com définit la latence comme  » la période de retard pendant laquelle un composant d’un système matériel attend qu’une action soit exécutée par un autre composant « . En termes plus simples, cela signifie le temps écoulé entre l’appel d’une fonction et son exécution réelle. La latence est inhérente à tous les systèmes; même si nous avions un système parfait (qui n’existe pas), il serait latent le temps nécessaire aux électrons de l’ordinateur pour commuter les transistors de marche à arrêt ou vice-versa.

La latence dans les petites opérations n’est pas une grosse affaire, mais lors de la gestion de millions d’opérations, il y a des millions de latences qui s’additionnent rapidement. La latence n’est pas définie par une unité de travail / temps, mais plutôt par son comportement. Les outils de surveillance rendent compte du temps qu’il faut entre le début d’une fonction et la fin de la fonction.

La latence peut avoir un impact majeur sur votre entreprise, par exemple « En ce qui concerne la vitesse mobile, chaque seconde compte — pour chaque seconde supplémentaire qu’une page mobile prend pour se charger, les conversions peuvent chuter jusqu’à 20% » (Source). Il est donc extrêmement important de comprendre votre latence du mieux que vous le pouvez.

Pièges courants lorsque vous examinez vos données de latence :

La latence ne suit presque jamais une distribution Normale, Gaussienne ou de Poisson. Même si votre latence suit l’une de ces distributions en raison de la façon dont nous observons la latence, cela rend les moyennes, les médianes et même les écarts-types inutiles! Si, par exemple, vous mesurez des charges de pages, 99,9999999999% de ces charges peuvent être pires que votre médiane. (Cliquez pour tweeter cette statistique) Cela fait partie de la raison pour laquelle l’échantillonnage aléatoire de votre latence provoque des données inexactes, mais plus à ce sujet plus tard.

À ce stade, vous vous demandez probablement si nous n’utilisons aucun écart type, comment pouvons-nous décrire de manière significative les latences? La réponse est que nous devons examiner les centiles et les maximums. La plupart des gens pensent à eux-mêmes, d’accord, alors je regarde P95 et je comprends le « cas commun ». Le problème avec cela est que P95 va cacher toutes les mauvaises choses. Comme le dit Gil Tene, directeur technique d’Azul Systems, « c’est un « système de marketing », Quelqu’un se fait duper. »

Prenez par exemple ce graphique:

Note de l’éditeur: Le produit BeeInstant qui a produit cette capture d’écran n’est plus disponible, mais ses capacités font partie de la plate-forme APM et Observabilité d’Instana.

Lorsque vous voyez ce graphique, vous pouvez clairement voir pourquoi il s’agit de la médiane et la moyenne n’a aucune signification réelle, elles ne montrent pas la zone à problème. Lorsque vous voyez le 95e centile tirer vers la gauche, vous pensez que vous voyez le cœur du problème.

Ceci, bien sûr, n’est pas vrai cependant, lorsque vous allez enquêter sur les raisons pour lesquelles votre programme a eu un hoquet, vous ne voyez pas le pire 5% de ce qui s’est passé. Pour obtenir ce type de pic, il faut que les 5% les plus élevés des données soient nettement pires.

Regardez maintenant le même graphique qui montre également le 99,99 perc percentile:

Note de l’éditeur: Le produit BeeInstant qui a produit cette capture d’écran n’est plus disponible, mais ses capacités font partie de la plate-forme APM et Observabilité d’Instana.

Cette ligne rouge est le 95e percentile tandis que la ligne verte est la 99,99 line ligne percentile. Comme vous pouvez le voir clairement, le 95e centile ne montre que 2 de vos numéros sur 22! C’est pourquoi vous devez examiner l’ensemble de vos données.

Malgré le fait que beaucoup de gens peuvent penser que les 5 derniers% des données n’ont pas beaucoup d’importance. Bien sûr, il pourrait s’agir d’un redémarrage de la machine virtuelle ou d’un hoquet dans votre système, ou quelque chose comme ça, mais bien que cela soit vrai en l’ignorant, vous dites que cela ne se produit tout simplement pas alors que cela pourrait être l’une des choses les plus importantes pour vous de cibler!

Gil Tenel aime affirmer en gras que « L’indicateur numéro un dont vous ne devriez jamais vous débarrasser est la valeur maximale. Ce n’est pas du bruit, c’est le signal. Le reste est du bruit. »Bien que le maximum soit en effet un excellent single dans un système à grande échelle, il n’est souvent pas pratique de poursuivre uniquement le cas maximum. Aucun système n’est parfait et des hoquets se produisent, dans un système pratique à grande échelle, poursuivre exclusivement le maximum de cas est souvent un bon moyen d’épuiser votre équipe de développement.

Lorsque vous regardez le 99.99e percentile, vous voyez ce qui arrive à la grande majorité de vos clients et les pics que vous voyez là, vous savez que ce sont des problèmes réels, alors que les pics de votre maximum peuvent simplement être un hoquet dans votre système. Lorsque vos équipes devops concentrent leurs efforts sur ces petits problèmes, elles le font à un coût d’opportunité important, car elles ne peuvent pas travailler sur des problèmes plus importants.

Il est à noter que si votre 99,99e et votre maximum sont très proches l’un de l’autre (et sont tous deux dopés), c’est un excellent signal que c’est un problème sur lequel votre équipe devrait travailler. De cette façon, Gil a raison que le maximum est un excellent signal, mais a tort que le reste de vos données ne soit que du bruit. Comme vous pouvez le voir dans ce graphique:

Note de l’éditeur: Comme ci-dessus, le produit qui a produit cette capture d’écran n’est plus disponible, mais ses capacités font partie de la plate-forme APM et Observabilité d’Instana.

Notre 99.le 99e centile et le maximum de notre exemple précédent correspondent exactement. C’est un excellent signal que ce que vous regardez est un véritable bug et pas seulement un hoquet.

Calcul de la moyenne des Percentiles: Comment le Précalcul Vous amène à Mal Mesurer la latence:

Un piège encore pire dans lequel les gens tombent que de simplement regarder le 95e percentile ne reconnaît pas que leurs percentiles sont moyennés. La moyenne des centiles est statistiquement absurde; cela enlève toute signification à ce que vous regardez. Nous avons déjà montré comment les moyennes ne sont pas bonnes, en regardant la latence, et si vous regardez les percentiles moyens, vous êtes tout simplement de retour à la case départ. La moyenne de nombreux logiciels de vos centiles prend par exemple ce graphique Grafana:

Que vous l’ayez réalisé ou non avant que tous les centiles à ce sujet soient moyens! Il le dit juste là dans le grand livre de l’axe des abscisses. PRESQUE TOUS LES SERVICES DE SURVEILLANCE FONT LA MOYENNE DE VOS CENTILES! C’est une réalité due au précalcul. Lorsque votre service de surveillance prend vos données, il calcule le centile des données pour cette minute.

Ensuite, lorsque vous allez jeter un coup d’œil à votre 95e centile, ils vous montrent une moyenne de tous vos centiles. Ce raccourci pour « votre bien » pour rendre votre service plus rapide, supprime en réalité toute signification statistique de vos données.

Pourquoi Vous devez disposer de Données non échantillonnées pour Mesurer Correctement la latence :

Que vous le sachiez ou non, en surveillant les outils participant à l’échantillonnage des données, ils produisent des données moyennées. Presque tous les outils de surveillance échantillonnent leurs données. Prenez par exemple DataDog; ils ont une perte de données importante. Si vous leur envoyez 3 millions de points en une minute, ils ne les prendront pas tous. Au lieu de cela, ils échantillonneront aléatoirement les points puis les agrégeront en 1 point par minute.

Vous devez disposer de données non échantillonnées pour comprendre votre latence. Il est inhérent qu’avec les données échantillonnées, vous ne pouvez pas accéder à la distribution complète! Votre maximum n’est pas votre vrai maximum, et votre centile global n’est pas non plus une représentation précise de ce qui se passe!

Les données échantillonnées exacerbent les omissions coordonnées!

Lorsque vous échantillonnez des données, vous omettez des données. Supposons par exemple que 10 000 opérations se déroulent en une minute et envoient 2 points de données chacun à votre système de surveillance. Supposons que vous ayez un bogue dans votre système et que l’un de ces points de données le montre pour 10 000 opérations. Votre système de surveillance n’a que 1/20 000 de chance de choisir cela comme point de données qu’il vous montre comme le maximum!

Si vous courez assez longtemps, le point de données apparaîtra éventuellement, mais par conséquent, il ressemblera à un cas de bord sporadique, même si cela arrive à l’un de vos clients toutes les minutes! Lorsque vous n’échantillonnez pas de données et que vous avez l’un de ces pics, il apparaîtra clairement dans votre 99,99 perc centile, et votre maximum s’en rapprochera, vous signalant que vous avez un bogue dans votre programme. Cependant, lorsque vous échantillonnez vos données, elles n’apparaîtront pas aussi souvent, ce qui signifie que vous ne les verrez pas comme un bug mais plutôt comme un hoquet. Cela signifie que votre équipe d’ingénierie ne réalisera pas l’importance de cela!

Ne laissez pas votre outil de surveillance vous tromper en pensant que vous savez ce qui se passe avec votre latence.

Choisissez un outil qui ne fournit pas de données échantillonnées. Choisissez un outil qui ne fait pas la moyenne de vos centiles globaux. Commencez un essai gratuit de deux semaines dès aujourd’hui!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.