Aller au contenu

Baselines et métriques

Établir des baselines de performance, identifier les patterns de charge et collecter les données utiles.


Qu'est-ce qu'une baseline

Une baseline est une mesure de référence établie sur une periode representative du comportement normal du système. Elle sert de point de comparaison pour détecter les anomalies et valider les projections futures.

Caractéristiques d'une bonne baseline

  • Periode representative : 2 a 4 semaines minimum, couvrant au moins un cycle complet
  • Granularité adequate : données a 1 minute pour l'exploitation, 5 minutes pour les tendances
  • Multi-dimensionnelle : CPU, RAM, IOPS, réseau, métriques applicatives (req/s, latence, erreurs)
  • Contextuelle : annotee avec les événements métier (campagnes, jours feries, releases)

Baseline sans contexte business = baseline inutile

Une baseline technique detachee du contexte métier ne permet pas de distinguer un pic normal (fin de mois, soldes) d'une anomalie a investiguer. Toujours annoter les periodes avec les événements business correspondants.


Comment établir une baseline

gantt
    title Etablissement d'une baseline (4 semaines)
    dateFormat  YYYY-MM-DD
    section Collecte
    Activation monitoring       :done, a1, 2024-01-01, 3d
    Collecte semaine 1          :done, a2, 2024-01-04, 7d
    Collecte semaine 2          :done, a3, 2024-01-11, 7d
    Collecte semaine 3          :active, a4, 2024-01-18, 7d
    Collecte semaine 4          :a5, 2024-01-25, 7d
    section Analyse
    Identification patterns     :a6, 2024-01-25, 3d
    Annotation evenements       :a7, 2024-01-28, 2d
    Validation baseline         :a8, 2024-01-30, 2d

Étapes pratiques

  1. Vérifier que tous les agents de collecte sont actifs et que la rétention est suffisante
  2. Identifier les cycles métier : jour ouvre, weekend, fin de mois, periode de soldes
  3. Laisser tourner la collecte sans intervention majeure sur l'infrastructure
  4. Annoter les événements exceptionnels (migration, incident, campagne marketing)
  5. Exclure les periodes anormales de la baseline (incident majeur, migration en cours)

Patterns de charge

Les patterns de charge sont les variations rythmiques et prévisibles de la demande.

Saisonnalite

Cycle Exemples Impact sur le dimensionnement
Journalier Pic 9h-11h / 14h-16h, creux nuit Scaling schedule ou auto-scaling
Hebdomadaire Lundi fort, weekend faible Ressources reducibles le week-end
Mensuel Fin de mois (paie, facturation) Headroom supplémentaire J-3/J+3
Annuel Soldes, Black Friday, periode fiscale Pre-scaling planifie

Pics prévisibles vs imprévisibles

  • Prévisibles : événements métier connus, scaling planifiable à l'avance
  • Imprévisibles : viraux, incidents partenaires, attaques — exigent headroom structurel
  • Semi-prévisibles : campagnes dont la date est connue mais l'amplitude incertaine

Métriques de saturation

La saturation est plus informative que la simple utilisation.

Ressource Métrique d'utilisation Métrique de saturation
CPU cpu_usage_percent Run queue length, load average / nb CPU
RAM mem_used_percent Swap utilisé, OOM events
Disque disk_used_percent Disk queue depth, await (ms)
Réseau net_bytes_sent/recv Retransmissions TCP, drops
Base de données Connexions actives Connexions en attente, deadlocks

Load average mal interprété

Un load average de 4.0 sur une machine 8 CPU = 50 % d'utilisation (acceptable). Le même load average sur une machine 2 CPU = saturation (urgent). Toujours normaliser par le nombre de CPU.


Collecte de données

Outils de collecte

Outil Type Points forts
Prometheus + exporters Pull, open source Écosystème riche, PromQL puissant
collectd Push, agent léger Faible empreinte, protocoles varies
Telegraf Push/Pull, agent Integrations nombreuses, TICK stack
CloudWatch (AWS) Natif cloud Zero config sur EC2/RDS/ELB
Azure Monitor Natif cloud Intégration native ARM
OpenTelemetry Standard ouvert Vendor-neutral, traces + métriques

Granularité et rétention

Horizon Granularité recommandee Rétention
Exploitation temps réel 15-60 secondes 15 jours
Analyse quotidienne 1-5 minutes 3 mois
Tendances mensuelles 1 heure 2 ans
Projections annuelles 1 jour 5 ans

Downsample pour réduire les coûts de stockage

Les données à haute granularité sont coûteuses a stocker sur le long terme. Configurer une politique de downsample : garder 15s pendant 2 semaines, puis agréger en 5 minutes pour 3 mois, puis en 1 heure pour le reste.


Points clés

  • Une baseline couvre au moins 2-4 semaines pour capturer tous les cycles recurrents
  • La saisonnalite est prévisible et doit être intégrée dans le dimensionnement
  • Les métriques de saturation (queue depth, swap, retransmissions) sont plus pertinentes que les simples pourcentages
  • La granularité et la rétention des données doivent être adaptées à l'horizon d'analyse