Performance en continu

Un test de charge une fois par an ne protège de rien.

La dégradation ne survient pas le jour du tir annuel. Elle s’installe livraison après livraison, dix millisecondes à la fois, jusqu’au jour où le trafic monte et où tout le monde découvre le problème ensemble.

Prendre rendez-vous

La dérive

Personne ne livre une régression de performance volontairement.

Une requête supplémentaire dans une boucle, un index oublié sur une table qui a grossi, une bibliothèque mise à jour qui sérialise différemment : chacune de ces évolutions coûte quelques dizaines de millisecondes, aucune ne déclenche d’alerte, et personne ne les relie entre elles.

Six mois plus tard, le temps de réponse a doublé. On cherche alors le coupable dans les six mois de livraisons — au lieu de l’avoir vu le jour où il est arrivé.

Le dispositif

Un tir court, à chaque version, avec un seuil qui décide.

Un tir réduit, pas une campagne

Quelques minutes sur les parcours critiques, assez pour détecter une dérive, assez court pour tenir dans une chaîne de livraison.

Des seuils qui bloquent

Un seuil qu'on peut ignorer n'est pas un seuil. Le dépassement arrête la livraison, ou il ne sert à rien.

Une référence qui évolue

On compare à la version précédente, pas à une valeur absolue figée il y a deux ans dans un document que personne ne relit.

L’enjeu n’est pas la précision absolue de la mesure — un environnement d’intégration ne vaut pas la production. L’enjeu est la comparabilité d’une version à l’autre : même scénario, même jeu de données, même infrastructure. C’est ce qui rend une variation interprétable.

Ce qu'il faut pour démarrer

Trois conditions, et aucune n'est technique.

Un environnement stable. Si la machine de test est partagée avec d’autres travaux, les mesures deviennent du bruit et les seuils sonneront pour rien — après trois fausses alertes, plus personne ne les regarde.

Un jeu de données reconstruit à l’identique. Une base qui grossit à chaque exécution fait dériver les mesures pour une raison qui n’a rien à voir avec le code.

Quelqu’un qui décide quoi faire quand ça bloque. C’est la vraie condition. Un seuil sans arbitre devient un avertissement de plus, et un avertissement de plus devient du bruit.

Questions franches

Ce qu'on nous demande

Ça ralentit notre chaîne de livraison ?

De quelques minutes, si le tir est bien dimensionné. On ne rejoue pas une campagne complète à chaque commit : on garde un scénario court sur les parcours critiques, et on réserve les tirs longs à un rythme hebdomadaire ou avant chaque mise en production.

Sur quelle infrastructure faire tourner les tirs ?

Sur ce que vous avez déjà, à condition qu'elle soit dédiée pendant la mesure. Une machine modeste mais réservée vaut mieux qu'une grosse machine partagée : la stabilité prime sur la puissance.

Comment fixer le premier seuil ?

On mesure d'abord sans bloquer, pendant deux à trois semaines, pour observer la dispersion naturelle. Le seuil se pose ensuite au-dessus de ce bruit. Poser un seuil avant d'avoir mesuré, c'est garantir les fausses alertes.

Et si le seuil se déclenche sans qu'on comprenne pourquoi ?

C'est fréquent au début et ce n'est pas un échec : la première valeur d'un dispositif de ce type est de rendre visibles des variations qu'on ne voyait pas. On affine le scénario, on isole la source de bruit, puis on resserre.

Parlons de ce que vous n’arrivez pas encore à tester.

Un audit de votre démarche de test, sans engagement, pour savoir où vous en êtes vraiment.

Prendre rendez-vous
fr_FRFrench