RousselTMLEARNING

Article · Grafana k6: load and performance testing

Why load test?

This article is available in French.

1. Pourquoi tester la charge ? #

Découvrir les limites avant les utilisateurs.

Les questions auxquelles répond un test #

  • Le service tient-il le trafic attendu avec la latence promise (SLO) ?
  • Où se situe le point de rupture, et comment le service casse-t-il (lentement, brutalement) ?
  • Une nouvelle version est-elle plus lente que la précédente ?
  • La mise à l'échelle automatique réagit-elle assez vite ?
À savoir : Un test de charge n'a de valeur que s'il est observé : métriques, traces et profils du système testé expliquent ce que le test mesure. C'est pourquoi cette formation relie k6 à Prometheus et Grafana.

2. Les types de tests #

Une même base de script, plusieurs profils de charge.

Panorama #

Types de tests
Ordres de grandeur indicatifs, à adapter au trafic réel.
TypeObjectifDurée typique
SmokeVérifier que le script et le service fonctionnent (1 à 5 utilisateurs)1 min
Charge moyenne (load)Valider le comportement sous trafic normal15 à 60 min
StressObserver le comportement au-delà du trafic normal15 à 60 min
Pic (spike)Encaisser une hausse brutale (soldes, annonce)Quelques minutes
Endurance (soak)Détecter fuites mémoire et dégradations lentesPlusieurs heures
Point de rupture (breakpoint)Trouver la capacité maximaleJusqu'à la rupture

3. Pourquoi k6 ? #

Un outil pensé pour les développeurs.

Atouts #

CaractéristiqueDétail
Scripts en JavaScript / TypeScriptVersionnés avec le code, relus en pull request
Moteur en GoDes milliers d'utilisateurs virtuels sur une seule machine
Seuils (thresholds)Le test échoue automatiquement si un objectif n'est pas atteint : idéal en CI
Sorties multiplesPrometheus, OpenTelemetry, JSON, CSV, Grafana Cloud
ProtocolesHTTP, WebSocket, gRPC, navigateur réel (module browser) et extensions (Kafka, SQL...)
# Installation
brew install k6                                  # macOS
sudo apt install k6                              # Debian/Ubuntu (dépôt k6)
docker run --rm -i grafana/k6 run - < script.js  # sans installation
À savoir : k6 est open source (AGPLv3), maintenu par Grafana Labs. La version 1.0, publiée en 2025, a stabilisé l'API et apporté la prise en charge native de TypeScript.

📄 Tests de charge avec Grafana k6 : pourquoi et quels types de tests →

My progress

  • ⏱ Estimated time : ≈ 3 min

Sign in to track your progress and take notes. Sign in

✉️ Ask a question