Les bases des tests de performance : Le déroulement des tirs

Fousseyni Bouare
Leanovia
Published in
3 min readSep 21, 2021

Une campagne de test de performance nécessite une bonne préparation et une procédure pour exécuter les tests. La préparation prend en compte la plateforme de test et les jeux de données qui sont nécessaires à la bonne conduite des tirs.

La plateforme de test

Le déroulement des tests de performance requiert le déploiement d’une plateforme dédiée. Cette dernière doit être plus ou moins équivalente à la plateforme de production modulo un facteur.

La plateforme de test doit être obligatoirement isolée de celle de la production en particulier pour les équipements réseaux. Un test de charge sollicite plusieurs éléments de l’infrastructure logicielle et matérielle. Aussi, une mutualisation de ces éléments pourrait certainement engendrer une perturbation de l’application testée et une mauvaise interprétation des résultats.

L’injection de la charge

Une solution d’injection de charge sera nécessaire pour développer les scripts et simuler les utilisateurs virtuels. Elle est en général constituée des éléments suivants :

  • Une machine destinée au pilotage du test qui va contrôler le déroulement des tests.
  • Des injecteurs qui vont simuler les actions utilisateurs qui leur sont transmises depuis la machine de pilotage. Pour ce faire, ils envoient des requêtes HTTP pour solliciter les serveurs de l’application.
  • Des sondes appelées aussi agents qui vont remonter les différentes métriques pour comprendre l’activité de l’application testée pendant le tir.

Les jeux de données

Les jeux de données sont essentiels pour dynamiser le test. Ils peuvent provenir d’un dump de production afin de simuler le plus possible le comportement des utilisateurs réels en production. Ces données doivent être réalistes sur la forme et le volume.

Exemple de jeux de données

Entre chaque tir, il faut remettre la base de données dans son état d’origine ou la purger pour éviter l’augmentation de la volumétrie des données.

D’une manière générale, il faut impliquer l’administrateur de base de données pendant la réalisation des tirs. Il est également nécessaire lors de l’interprétation des métriques relatives à la base de données.

Le déroulement du test

Pendant le test de charge, Il faut surveiller les injecteurs et les composants logiciels. Les outils de test d’aujourd’hui reportent l’état des injecteurs au cours du tir. Quant à la supervision des composants logiciels, des outils spécialisés dans la gestion de la performance applicative fournissent une vue contextualisée de toutes les transactions.

Il est recommandé de réaliser deux tirs pendant une campagne de test. Il s’agit d’un tir de référence et d’un tir de confirmation. Lorsqu’un écart très grand est constaté entre ceux-ci, il faut réaliser un troisième tir.

Il faut également ajouter une période de 15 minutes à 30 minutes à la durée du test. Durant cet intervalle, les injecteurs vont injecter la charge au fur et à mesure jusqu’à atteindre le nombre d’utilisateurs virtuels cible. Cette période est appelée ramp-up.

Ci-dessous, le graphe des utilisateurs virtuels

Nombre d’utilisateurs VS Nombre de requêtes par seconde

Sur le graphe, nous pouvons observer le ramp-up en rouge.

Conclusion

La préparation est une étape clé de la réalisation d’une campagne de test de performance. Elle permet d’assurer le bon déroulement du test et une meilleure interprétation des résultats.

--

--