Latence inexplicables sur un cluster Kafka SRE

Posté par camus-sophie le 20/02/2026
RÉSOLU

camus-sophie

Membre depuis le 22/02/2025

salut

on a un cluster kafka qui tourne sur des instances ec2. depuis ce matin on a des pics de latence côté producteurs et consommateurs. ça passe de 5ms à 500ms par intermittence. j'ai checké cpu mémoire réseau sur les brokers ça a l'air ok. pas de saturation disque particulière. les logs kafka sont silencieux. prométhéus montre juste les pics de latence rien d'autre d'anormal

# exemple de métrique prom que je regarde
kafka_broker_producer_request_latency_ms_max
kafka_broker_consumer_fetch_latency_ms_max

Commentaires

chevalier-marcel

Membre depuis le 15/07/2024

hello

t'as jeté un œil à la métrique

kafka_broker_network_processor_idle_percent
sur tes brokers ? des fois si y'a des pics de connexions ou de requêtes ça peut saturer les threads de traitement réseau même si le cpu global est bas

carnaud

Membre depuis le 04/04/2019

ouais et aussi

kafka_broker_log_flush_time_ms_max
si ton système de fichier ou tes disques ont des soucis de synchro ou de latence en écriture ça se répercute direct. même si ton iops global est ok des fois c'est la latence de flush qui est coupable

camus-sophie

Membre depuis le 22/02/2025

ok je vais regarder ces métriques. pour le network processor idle il est autour de 90% donc ça me parait pas saturé. pour le log flush j'ai des pics à 200ms parfois alors que d'habitude c'est 1-2ms. ça pourrait être ça

chevalier-marcel

Membre depuis le 15/07/2024

200ms c énorme pour un flush. t'es sur quel type de disque sur tes ec2 ? gp2 gp3 io1 ? et t'es en

sync
ou
async
pour le flush ? si t'es en sync ça attend le retour du fs avant de continuer

emile17

Membre depuis le 12/12/2024

j'ai eu un truc similaire une fois c'était à cause du snapshot ebs automatique d'aws. pendant le snapshot les perfs i/o peuvent chuter. regarde si tes pics de latence correspondent à l'heure des snapshots quotidiens

camus-sophie

Membre depuis le 22/02/2025

on est sur du gp3 avec 3000 iops alloués c'est censé être pas mal. on est en flush synchrone oui c'est pour la durabilité. les snapshots ebs c'est une piste intéressante je vais vérifier les logs d'activité aws

carnaud

Membre depuis le 04/04/2019

si c'est gp3 et que tu as alloué plus d'iops que ce qui est utilisé tu peux augmenter les iops provisionnés voir si ça aide. même si c'est pas saturé des fois le burst du gp3 est pas suffisant pour les pics de kafka. et regarde ton

volume_queue_length
sur cloudwatch aussi

camus-sophie

Membre depuis le 22/02/2025

bingo ! c'était bien les snapshots ebs. ils sont configurés pour tourner toutes les 4 heures et ça correspond pile poil à nos pics de latence. on va décaler les snapshots à des heures creuses ou explorer des options d'iops plus stables. thx pour l'aide

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire