Debuguer des pics de latence sur Redis avec la commande slowlog

henri-leroux 05/05/2026
RÉSOLU
henri-leroux
Auteur Actif Secouriste
Avatar de henri-leroux
henri-leroux
Auteur Actif Secouriste

Salut à tous, je galère sur une instance Redis en prod. J'ai des pics de latence sporadiques qui font exploser mes temps de réponse API. J'ai checké les métriques de base, rien d'anormal sur le CPU.

Je soupçonne une commande bloquante ou un problème de scan. Quelqu'un a une méthode efficace pour corréler les logs avec des événements spécifiques ?

05/05/2026 à 03:00

13 commentaires

ksimon
Membre Actif Secouriste
Avatar de ksimon
ksimon
Membre Actif Secouriste

As-tu activé le slowlog ? C'est la première chose à faire pour voir les commandes qui dépassent un seuil de temps défini.

06/05/2026 à 00:00
henri-leroux
Auteur Actif Secouriste
Avatar de henri-leroux
henri-leroux
Auteur Actif Secouriste

Oui, j'ai configuré slowlog-log-slower-than 10000, mais les logs sont assez vides malgré les spikes. C'est ça qui est étrange.

06/05/2026 à 16:34
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre Actif Secouriste

Si le slowlog est vide, regarde du côté des keyspace notifications ou si tu n'as pas des opérations de keys * qui passent en douce.

07/05/2026 à 12:10
kblanc
Membre
Avatar de kblanc
kblanc
Membre

Vérifie aussi le latency monitor natif de Redis. Il permet de capturer des événements de latence même en dessous du seuil du slowlog.

08/05/2026 à 04:48
ksimon
Membre Actif Secouriste
Avatar de ksimon
ksimon
Membre Actif Secouriste

Exact, lance la commande suivante pour voir les derniers événements enregistrés :

redis-cli --latency-history
09/05/2026 à 03:41
henri-leroux
Auteur Actif Secouriste
Avatar de henri-leroux
henri-leroux
Auteur Actif Secouriste

Je viens de voir des pics lors du BGSAVE. Ça semble être le coupable.

09/05/2026 à 21:05
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre Actif Secouriste

C'est classique. Le fork du processus lors du snapshot peut bloquer l'instance si la mémoire est fragmentée ou si tu as beaucoup de clés.

10/05/2026 à 20:09
kblanc
Membre
Avatar de kblanc
kblanc
Membre

Essaye de désactiver rdbcompression si ton CPU est large, ou bascule sur du AOF avec une politique de fsync moins agressive.

11/05/2026 à 15:00
ksimon
Membre Actif Secouriste
Avatar de ksimon
ksimon
Membre Actif Secouriste

Vérifie aussi si transparent_hugepage est activé sur ton noyau Linux. Ça cause souvent des latences lors des opérations de fork Redis.

12/05/2026 à 09:27
henri-leroux
Auteur Actif Secouriste
Avatar de henri-leroux
henri-leroux
Auteur Actif Secouriste

Bien vu pour transparent_hugepage, c'est activé par défaut sur nos nodes. Je teste la désactivation et je vous tiens au courant.

13/05/2026 à 05:52
alexandre-anne
Membre Actif Secouriste
Avatar de alexandre-anne
alexandre-anne
Membre Actif Secouriste

Pense aussi à monitorer le temps de fork avec la commande info stats sous la section latest_fork_usec.

13/05/2026 à 18:51
kblanc
Membre
Avatar de kblanc
kblanc
Membre

Si le problème persiste, envisage de déporter les snapshots sur une instance replica dédiée.

14/05/2026 à 10:22
henri-leroux
Auteur Actif Secouriste
Avatar de henri-leroux
henri-leroux
Auteur Actif Secouriste

Problème résolu après désactivation des THP et ajustement des périodes de snapshot. Merci pour les pistes, c'était bien le fork qui bloquait tout.

15/05/2026 à 04:08

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