Chez Sengo, nous croyons que la performance commence par la préparation. Que vous lanciez une campagne marketing ou que vous anticipiez un pic de trafic, il est essentiel de connaître les limites de votre site et de s’assurer que les pages clés sont déjà mises en cache et prêtes à être servies rapidement.
Voici notre configuration légère et reproductible utilisant :
[ k6 script ] ─▶ [ InfluxDB ]
│ ▲
▼ │
Trafic [ Grafana Dashboard ]
▼
Votre site web
Un extrait de notre docker-compose.yml :
services :
influxdb :
image : influxdb:1.8
ports :
- "8086:8086"
environnement :
- INFLUXDB_DB=k6
grafana :
image : grafana/grafana:latest
ports :
- "3000:3000"
environnement :
- GF_AUTH_ANONYMOUS_ENABLED=true
volumes :
- ./dashboards:/var/lib/grafana/dashboards
- ./grafana-dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
- ./grafana-datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
k6 :
image : loadimpact/k6:latest
environnement :
- K6_OUT=influxdb=http://influxdb:8086/k6
volumes :
- ./scripts:/scripts
Nous avons préconfiguré un tableau de bord Grafana avec :
Le tout est alimenté par InfluxDB, préconfiguré et actualisable en temps réel.
Le script simule du trafic sur toutes les pages principales de Sengo.com (FR et EN) :
import http from 'k6/http' ;
export let options = {
stages : [
{ duration : '15s', target : 25 },
{ duration : '5m', target : 85 },
{ duration : '3m', target : 105 },
{ duration : '3m', target : 75 },
{ duration : '15m', target : 155 },
{ duration : '3m', target : 100 },
{ duration : '1m', target : 0 }
]
} ;
export default function () {
http.get('https://sengo.com/') ;
http.get('https://sengo.com/fr/') ;
// ...plus de points d'extrémité
}
Ouvrez http://localhost:3000 pour accéder au tableau de bord Grafana :
Ce script joue aussi le rôle de « page warmer » : il permet de charger les pages importantes en cache avant un lancement ou une montée en charge réelle.
| Outil | Objectif |
|---|---|
| k6 | Test de charge & préchauffage |
| InfluxDB | Base de données de métriques |
| Grafana | Tableaux de bord en temps réel |
| Docker | Environnement local simple |
Besoin d’un coup de main ? Contactez l’équipe de Sengo. Nous optimisons les performances web sur des plateformes modernes, headless et composables.
Comme (0)