Métriques & Définitions
Comprendre les données de performance est crucial pour ajuster le pipeline de vision. Ce guide définit les indicateurs clés suivis par le système FirstBreath.
⏱ Métriques de latence
La latence est le principal indicateur de l'expérience utilisateur. Elle mesure le délai entre un événement (la caméra capture une image) et le résultat (insertion en base de données).
La décomposition du pipeline
Nous mesurons la latence à trois étapes critiques pour identifier les goulots d'étranglement :
- Capture Latency : Temps pour récupérer une image du flux RTSP.
- Élevé ? Vérifiez la bande passante réseau ou la stabilité de la caméra.
- Queue/Redis Wait : Temps qu'une image passe dans Redis en attendant un worker GPU.
- Élevé ? Le GPU est surchargé (l'inférence est plus lente que la capture). Nécessite une mise à l'échelle automatique ou du batching.
- Inference Latency : Temps que l'IA passe réellement à traiter le lot.
- Élevé ? Le modèle est trop complexe ou la taille du lot est trop grande.
Percentiles (P50 vs P95)
Nous évitons d'utiliser les "Moyennes" car elles masquent les problèmes. Au lieu de cela, nous utilisons des percentiles :
- P50 (Médiane) : L'expérience typique. "La plupart des images prennent ce temps."
- P95 (95e centile) : Le pire cas pour un fonctionnement normal. "5% des images sont plus lentes que cela."
Règle empirique : Si P50 est bas mais P95 est élevé, vous avez de la "gigue" — des pics de latence occasionnels généralement causés par le Garbage Collection, des pertes de paquets réseau ou des changements de contexte GPU. Si P50 et P95 sont tous deux élevés, le système est constamment surchargé.
📦 Stratégie de taille de lot (Batch Size)
La Taille de lot est le nombre d'images traitées simultanément par le GPU.
- Batching dynamique : Notre système ajuste la taille du lot à la volée en fonction de la charge entrante.
- Efficacité :
- 1 Image = 15ms/image (Réponse rapide, faible débit).
- 8 Images = 40ms total (5ms/image ! Gain de débit énorme).
Si votre tableau de bord montre une taille de lot constamment élevée (par ex. 8), votre système maximise le débit (bon pour les coûts), mais les images individuelles attendent plus longtemps (latence plus élevée).
🎛 Débit du système
-
FPS (Images par seconde) : La mesure ultime de la capacité.
- Inlet FPS : Combien d'images nous recevons.
- Outlet FPS : Combien de résultats nous sauvegardons.
- Idéalement, Inlet devrait être égal à Outlet.
-
Dropped Frames : Images rejetées intentionnellement pour éviter le crash du système quand le lag >> 5 secondes.