Tester la montée en charge d’une API : comment simuler un trafic réaliste ?

16 mai 2025#  performance, load testing

Vous avez mis en place un test de charge. Tout roule en PREPROD. Et puis… en PROD, c’est le chaos.

Pourquoi ?

Parce que votre test envoie des requêtes comme un robot, pas comme de vrais utilisateurs.

Résultat ?

Vous pensez que votre API tient la charge… jusqu’à ce qu’elle se prenne un comportement imprévu (un pic, une charge longue) et explose en vol.

Voyons comment éviter ça en simulant un trafic réaliste !

Arrêtez les tests “ligne droite”

Le test classique :

Sauf que la vie réelle, ce n’est pas ça.

Vos utilisateurs n’ont pas un comportement déterministe et linéaire.

Ils arrivent en vagues, cliquent frénétiquement, actualisent la page… Bref, c’est “organique”.

💡 Ajoutez de l’aléatoire dans votre trafic. Simulez des motifs irréguliers comme des pauses, des actions répétées, des utilisateurs pressés et d’autres plus lents.

Pensez aux pics de charge

Vous avez testé un trafic stable, ça passe.

Mais avez-vous testé ?

💡 Bien considérer la distribution non uniforme de la charge et observer le retour à la normal.

Simulez des scénarios utilisateurs, pas juste des requêtes

Un test “bête” envoie des requêtes isolées.

Mais un utilisateur :

Et ça, c’est un scénario possible.
Il existe aussi différents comportements comme la comparaison de produits, l’ouverture dans plusieurs onglets, la recherche d’un élément spécifique (qui dure, qui dure parce que la barre de recherche ne comprend pas du tout ce que j’ai bien pu écrire…)

💡 Ne pas hésiter à s’appuyer sur les outils de Logs type RUM (surveillance des utilisateurs réels) ou les chorégraphies d’appels de vos utilisateurs (les logs devraient vous aider pour les identifier) pour comprendre les usages et identifier les volumétries.

Les limites et blocages

Durant vos tests, vous envoyez 10 000 requêtes, tout tient… et pourtant, en prod, ça rame…

Pourquoi ?

🚫 Parce que (plusieurs cas possibles en même temps) :

💡 Comme d’habitude en testing : des environnements au plus proches de la vrai PROD et attention au cache !

Mesurez ce qui compte vraiment

Ok, votre API tient à 1000 req/s. Mais ça veut dire quoi pour de vrai ?

À bien faire attention

💡Trois concepts pertinents sur les métriques à étudier : Four Golden Signal, RED, USE

TL;DR – Tester la montée en charge d’une API de façon réaliste

Les tests de charge “lisses” (trafic linéaire, requêtes identiques, données stables) donnent une fausse confiance.
En production, le trafic est chaotique, irrégulier, imprévisible.



✅ Pour simuler un trafic réaliste :

Un bon test de charge, c’est un test qui ressemble à la vraie vie. Oublions les tests “lignes droites” et pensons comme nos utilisateurs : imprévisibles, impatients et toujours là où on ne les attend pas.

Et un test n’est jamais figé dans le marbre. J’ajuste régulièrement mes scénarios avec les données réelles observées (merci les APMs).

Attention à ne pas vivre en théorie, car en théorie tout se passe bien…

photoCédric CHARIERE FIEDLER

Cédric CHARIERE FIEDLER

Architecte Web, QA & Perf
# API,Front,QA,Performance,Cloud