k6 : l’outil moderne de tests de charge open-source que tous les sites Drupal devraient utiliser en 2025
k6 est un outil open-source de test de performance et de montée en charge développé par Grafana Labs. Écrit en Go et scripté en JavaScript (ES6+), il permet de simuler des milliers (voire des millions) d’utilisateurs virtuels de façon extrêmement légère, rapide et parfaitement intégrable dans vos pipelines CI/CD.
Contrairement aux outils historiques comme JMeter, k6 a été conçu dès le départ pour les équipes DevOps modernes : pas d’interface lourde, des scripts versionnables dans Git, et une exécution ultra-efficace même sur un simple laptop.
Fonctionnalités principales de k6
- Simulations réalistes : ramp-up progressif, pics brutaux, tests de stress, soak testing (longue durée)
- Scripting en JavaScript : utilisez les mêmes compétences que pour votre front-end
- Léger et rapide : un seul binaire, pas de JVM, capable de générer 50 000 VU sur une machine 16 cœurs
- Seuils de performance (thresholds) : arrête automatiquement le test si le taux d’erreur dépasse 1 % ou si le p95 > 500 ms
- Intégration CI/CD native : GitHub Actions, GitLab CI, CircleCI, Jenkins…
- Rapports riches : sortie HTML, intégration Grafana, InfluxDB, Prometheus, Datadog, New Relic…
- Cloud & local : exécution locale gratuite ou via k6 Cloud (jusqu’à plusieurs millions d’VU)
- 100 % open-source (licence Apache 2.0)
Pourquoi choisir k6 pour votre site Drupal ?
- Votre site Drupal est rapide avec 50 visiteurs ? k6 vous dira s’il tient à 5 000.
- Vous utilisez Redis, Varnish, CDN, BigPipe ? k6 valide que le cache tient vraiment sous charge.
- Vous avez un pic prévu (Black Friday, campagne média, lancement) ? Testez-le avant, pas pendant.
- Vous êtes en Drupal 10/11 avec des vues complexes, Search API Solr, Commerce ? k6 détecte les N+1 queries et les bottlenecks cachés.
Utilisation de k6 avec un site Drupal
L’intégration est extrêmement simple et ne nécessite aucun module Drupal spécifique.
Étape 1 : Installation (une seule commande)
# Linux / macOS / Windows (WSL)
curl -L https://github.com/grafana/k6/releases/latest/download/k6-linux-amd64 -o k6
chmod +x k6
sudo mv k6 /usr/local/bin/Étape 2 : Créer votre premier script (exemple : test complet d’un site Drupal)
Fichier k6-drupal-test.js :
import http from 'k6/http';
import { check, sleep } from 'k6';
import { htmlReport } from 'https://jarallax.grafana.com/dist/bundle.js';
export const options = {
stages: [
{ duration: '2m', target: 200 }, // montée
{ duration: '5m', target: 1000 }, // palier
{ duration: '2m', target: 2000 }, // pic
{ duration: '3m', target: 0 }, // descente
],
thresholds: {
http_req_duration: ['p(95)<600'],
http_req_failed: ['rate<0.01'],
},
};
const BASE_URL = 'https://www.monsite.fr';
export default function () {
// Page d’accueil anonyme (doit être 100% cachée)
let res = http.get(`${BASE_URL}/`);
check(res, { 'homepage OK': (r) => r.status === 200 });
// Article avec vues, paragraphes, images derivées
http.get(`${BASE_URL}/actualites/comment-migrer-vers-drupal-11`);
// Recherche
http.get(`${BASE_URL}/recherche?keys=drupal`);
// Page authentifiée (optionnel)
// http.get(`${BASE_URL}/user/login`);
sleep(1);
}
export function handleSummary(data) {
return {
'k6-report.html': htmlReport(data),
};
}Étape 3 : Lancer le test
k6 run k6-drupal-test.jsk6 est particulièrement recommandé pour :
- Les agences et freelances Drupal qui veulent livrer des sites réellement performants
- Les projets e-commerce (Drupal Commerce) avant chaque soldes/Black Friday
- Les migrations Drupal 9 → 10 → 11 où la performance peut régresser
- Les équipes DevOps qui veulent des tests de charge dans leur GitLab CI
- Tous ceux qui en ont marre de JMeter et de ses fichiers XML illisibles
Avec k6, 2 heures de test vous évitent des nuits blanches le jour où votre site passe en page d’accueil de Reddit ou dans une émission TV.
Prêt à savoir combien d’utilisateurs simultanés votre site Drupal peut vraiment encaisser ? Testez k6 dès aujourd’hui. C’est gratuit, open-source et terriblement efficace.
Contactez-nous pour un audit de performance + mise en place de tests k6 automatisés