Les bases des tests de performance : Qu’est-ce que le throughput ?

Fousseyni Bouare
Leanovia
Published in
3 min readJun 15, 2021

Pour les nouvelles personnes qui s’aventurent dans le domaine des tests de performance, le throughput est une notion très souvent confuse. Cette métrique étant essentielle à l’appréciation de la performance d’une application pendant un test, nous allons tenter de la clarifier dans les lignes suivantes.

Définition du throughput

Le throughput représente la quantité de requêtes opérées dans un intervalle de temps durant un test de performance.
C’est la capacité d’un site web ou d’une application à absorber toutes les requêtes entrantes.

Plus le temps de traitement sera court, plus l’application pourra accepter des requêtes utilisateur en plus. La baisse du throughput est majoritairement causée par un ralentissement de l’application et s’accompagne très souvent ou mécaniquement par une augmentation du temps de réponse.

Ainsi, si une application web reçoit 60 requêtes par seconde et ne peut en traiter que 20 par seconde, les 40 autres seront mises en attente avant d’être traitées. Par conséquent, l’expérience utilisateur en pâtit.

Exemples ou illustrations

Prenons pour exemple l’accueil d’un service administratif ayant des guichets. Lorsque tous les guichets sont occupés, toutes les autres personnes attendent plus ou moins longtemps dans la file.
Ainsi, le throughput peut s’exprimer comme étant le nombre de personnes reçues durant un intervalle. Plus les personnes sont reçues rapidement au guichet, plus le service d’accueil peut être considéré comme rapide et efficace.

Cas concret

Le graphe ci-dessous représente le nombre de requêtes par seconde d’un test de performance.

Requête par seconde VS Utilisateurs

Cette image provient d’un test de performance réalisé grâce à Neoload. Il représente le nombre de requêtes par seconde par rapport au nombre d’utilisateurs injectés.

Nous pouvons constater que la courbe qui représente les requêtes par seconde, suit plus ou moins la même allure que celle du nombre d’utilisateurs injectés jusqu’aux environs de 14h25. On peut déduire que le comportement des serveurs reste correct durant cet intervalle de temps.

Après 14h25, bien que le nombre d’utilisateurs augmente, le nombre de requêtes par seconde baisse très sensiblement. En effet, les utilisateurs attendent les réponses à leurs requêtes qui sont en cours de traitement. C’est pourquoi ils ne peuvent pas en envoyer d’autres. D’où la diminution du nombre de requêtes par seconde à partir de 14h25.

Ce phénomène peut s’expliquer par la présence d’une congestion dans le traitement des requêtes au niveau des serveurs. Le goulot d’étranglement pourra être déterminé après analyse des métriques remontées par un système de supervision.

La courbe du throughput exprimée en nombre de requêtes par seconde par rapport au nombre d’utilisateurs injectés permet de déterminer à vue d’œil le bon déroulement du tir. En effet, dans un cas quasi parfait, la courbe du nombre d’utilisateurs et celle du throughput sont confondues.

Conclusion

Le throughput est une métrique clé pour apprécier de manière qualitative le comportement d’une application web soumise à un test de performance. Lorsqu’une architecture applicative fonctionne sans problèmes de performance apparents, la courbe du throughput et celle du nombre d’utilisateurs injectés ont la même allure.

--

--