Percentiles dans CloudWatch
Un percentile indique la position relative d'une valeur dans un ensemble de données. Par exemple, le 95e percentile signifie que 95 % des valeurs sont inférieures à cette valeur, et 5 % sont supérieures. Les percentiles aident à comprendre la distribution réelle d'une métrique et à détecter les queues de distribution.
Pourquoi pas la moyenne ?
- La moyenne lisse les extrêmes et masque les problèmes des queues.
- Le maximum est trop sensible à un seul outlier.
- Les percentiles (p50, p90, p95, p99…) capturent l’expérience de la majorité et des cas dégradés.
Exemple RUM (temps de chargement): viser p95 ≤ 2 s est souvent plus pertinent que viser la moyenne ≤ 2 s.
Pourquoi utiliser les percentiles ?
- Isoler les anomalies : on observe les queues (p95/p99) sans être dominé par quelques outliers.
- Refléter l’expérience : p90/p95 représentent ce que « 9/10 » ou « 19/20 » des utilisateurs vivent.
- Piloter des SLO : on exprime souvent un SLO de latence en p95/p99.
Percentiles dans CloudWatch: points clés
- Activation : pour les métriques personnalisées, publiez des points de données bruts (non pré-agrégés) pour que les percentiles soient calculables.
- Valeurs négatives : CloudWatch ne calcule pas de percentiles pour les métriques ayant des valeurs négatives.
- Granularité : les percentiles sont calculés par période d’agrégation choisie (
Period). - Statistiques disponibles :
Average,Sum,Minimum,Maximum,SampleCount,pNN.NN(ex:p50,p90,p95,p99,p99.9). - Syntaxe des p-values : utilisez
pXXoupXX.X(par ex.p95,p99.9) dans les widgets, requêtesGetMetricData, dashboards et alarmes.
Définitions des statistiques
Les statistiques CloudWatch agrègent des points de données sur une période (Period) :
Average: moyenne sur la période.Sum: somme sur la période.Minimum/Maximum: bornes observées sur la période.SampleCount: nombre de points.p95,p99, etc. : percentile de la distribution sur la période.
Exemple API et alarmes
Supposons une métrique de latence d’API :
Average= 200 msp95= 500 msp99= 1000 ms
Interprétation :
- 95 % des requêtes < 500 ms ; 5 % ≥ 500 ms.
- 99 % des requêtes < 1000 ms ; 1 % ≥ 1000 ms.
Alarme typique sur la dégradation :
- Créer une alarme CloudWatch avec statistique
p95> 700 ms pendant 5 minutes (n périodes consécutives), pour détecter une queue qui s’allonge.
Bonnes pratiques
- Publier des métriques brutes à une résolution adaptée (1 min ou High-Resolution si nécessaire) pour des percentiles pertinents.
- Choisir le percentile en fonction des SLO/UX (p90 pour trafic interne, p95/p99 pour client).
- Éviter les métriques négatives si vous avez besoin de percentiles.
- Utiliser des tableaux de bord avec
Average+p95/p99ensemble pour un diagnostic rapide.
En résumé, les percentiles offrent une vision fidèle des performances réelles, complètent la moyenne et facilitent la détection proactive des dégradations.