Redis est utilisé pour le cache et les sessions. Quand Redis timeout, toute l'application ralentit ou plante. Voici comment diagnostiquer et résoudre ces problèmes.
Symptômes
- Erreurs "Connection timed out" vers Redis
- Temps de réponse qui augmente soudainement
- Sessions perdues ou cache ignoré
- Erreurs "Redis connection refused"
Causes Fréquentes
- Redis surchargé : Trop d'opérations ou commandes bloquantes (KEYS *).
- Mémoire pleine : Redis atteint maxmemory et évince ou refuse les écritures.
- Réseau instable : Latence réseau entre l'app et Redis, surtout sur des services distants.
Étapes de Diagnostic
- Testez la connectivité avec redis-cli ping
- Vérifiez la mémoire avec INFO memory
- Analysez les commandes lentes (SLOWLOG GET 10)
- Vérifiez le nombre de connexions (INFO clients)
Automatiser avec MoniTao
MoniTao détecte les effets des problèmes Redis :
- Surveillance des temps de réponse de l'application
- Alertes sur les erreurs 500 soudaines
- Heartbeat pour les jobs qui utilisent Redis
Bonnes Pratiques
- Évitez KEYS * en production, utilisez SCAN
- Configurez maxmemory avec une politique d'éviction
- Utilisez un timeout de connexion approprié
- Implémentez un fallback si Redis est indisponible
Questions Fréquentes
Quel timeout configurer ?
Connexion : 2-5s. Commande : dépend de l'opération. Évitez 0 (infini).
Que faire si Redis est plein ?
Augmentez maxmemory ou configurez une politique d'éviction (allkeys-lru).
Sentinel ou Cluster ?
Sentinel pour la haute disponibilité simple. Cluster pour le scaling horizontal.
MoniTao peut-il surveiller Redis directement ?
Non, mais il surveille l'impact sur votre application (temps de réponse, erreurs).
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.