Estimation d'une baisse de performance
Comment évaluer une baisse de performances : le travail consiste principalement à établir un diagnostic, et non à apporter une solution. Comment en évaluer l'ampleur lorsque la cause est inconnue et qu'un SLO est en jeu.
La p95 a doublé la semaine dernière et l’assemblée vote sur le mauvais sujet.
La plupart du temps, les baisses de performances nécessitent beaucoup de travail de diagnostic, mais peu de corrections. L’équipe qui a déjà identifié la requête « N+1 » sait que la correction à apporter est minime. Celle qui ne l’a pas encore identifiée vote sur une tâche dont le contenu réel consiste à « passer trois jours à analyser des graphiques de flammes ». Il s’agit là de tâches différentes.
Deux questions déterminent l’estimation. Premièrement : la cause est-elle connue ? Si oui, évaluez l’ampleur de la correction. Si non, évaluez l’ampleur de l’enquête. Deuxièmement : quel est le SLO que la régression a enfreint, et quel est le délai pour le rétablir ? Une régression qui enfreint un SLO visible par les clients présente un niveau d’urgence différent de celui d’un ralentissement de 10 % que personne n’a remarqué.
Ce qui se dit dans la salle
SRE : « Le p95 est passé de 200 ms à 450 ms mercredi dernier. »
Backend : « Y a-t-il eu quelque chose de particulier lors des déploiements de ce jour-là ? »
Chapeau : « Trois déploiements. Aucun d’entre eux n’a affecté le point de terminaison lent. »
Backend : « Ou alors, on aurait dit qu’ils n’avaient pas touché au point de terminaison lent. »
SRE : « Sommes-nous dans les limites du SLO ? Avons-nous le temps de mener une enquête approfondie ? »
Questions qu’il convient de se poser avant de voter
- La cause est-elle connue, ou sommes-nous en train de définir le périmètre d’une enquête ?
- Qu’est-ce que le SLO, et est-il actuellement non respecté ?
- Qu’est-ce qui a changé entre la dernière période favorable et la première période défavorable ?
- Disposez-vous de graphiques en flammes, de traces ou simplement de tableaux de bord ?
- Le retour en arrière constitue-t-il une mesure d’atténuation viable pendant que nous menons notre enquête ?
Si la cause reste une hypothèse, il s’agit d’un spike à durée limitée, et non d’une correction — et si un SLO n’est pas respecté, la restauration en arrière vous permet de gagner du temps pour l’exécuter sans que le temps ne joue contre vous.
Définissez la taille de ce dont vous disposez réellement, et non de ce que vous aimeriez avoir. Une cause inconnue signifie que vous limitez la portée de votre recherche.
Tout comme l’estimation d’un bug impossible à reproduire, le plus gros du travail réside dans le diagnostic. Consultez les autres exemples d’estimations concrètes, ou lancez une session de Planning Poker gratuite une fois que la cause a été identifiée.