I/O wait kernel linux élevé sur prod rds postgres

Posté par poirier-thierry le 26/04/2025
RÉSOLU

poirier-thierry

Membre depuis le 28/03/2024

salut la team on a un gros pb de perf sur une instance rds postgres. l'i/o wait est super élevé genre 70-80% par moments. c'est une gp3 de 500go avec 3000 iops alloués. les requêtes sont pas si folles que ça et le cpu est ok. des idées où chercher dans les logs ou les métriques ?

Commentaires

nruiz

Membre depuis le 07/10/2024

hello t'as check la queue depth de ton volume ebs dans cloudwatch ? si elle est constamment haute c'est que l'instance postgres n'arrive pas à suivre avec les iops du disque

hugues44

Membre depuis le 21/07/2024

regarde les logs postgres en détails. des fois c'est des requêtes mal optimisées qui font des full table scans ou qui créent énormément de temp files sur le disque ce qui explose les iops

gregoire-chretien

Membre depuis le 26/01/2025

la gp3 a 3000 iops baseline mais si ton workload a des blocs de données très petits ou très grands ça peut impacter les perfs. t'as quelle taille de bloc i/o moyenne ?

dasilva-christophe

Membre depuis le 06/05/2024

et la version de postgres ? certaines versions ont des améliorations sur la gestion de l'i/o et du buffering. et ton checkpoint_timeout ou wal_buffers peuvent aussi jouer

wroche

Membre depuis le 09/05/2024

est-ce que ton instance rds est dans le même az que tes instances applicatives ? des fois les latences inter-az même faibles peuvent s'accumuler sur des workloads intenses en i/o

godard-antoinette

Membre depuis le 29/04/2024

regarde aussi les métriques Enhanced Monitoring de rds ça donne des infos plus fines sur le système d'exploitation sous-jacent à la base de données. ça peut te montrer des pics d'i/o sur des fichiers spécifiques

anais16

Membre depuis le 08/02/2025

et le type d'instance rds ? si elle est pas assez puissante en cpu/ram ça peut aussi limiter sa capacité à traiter les i/o même si le disque a des iops dispo

poirier-thierry

Membre depuis le 28/03/2024

ok un mélange de tout ça j'imagine. le queue depth était bien haut et en fait le problème venait de quelques requêtes avec des jointures pas optimales qui faisaient du full scan. et aussi on s'est rendu compte que le type d'instance rds était un peu sous-dimensionné pour la mémoire tampon nécessaire. après quelques optimisations sur les requêtes et un scale up de l'instance ça va déjà beaucoup mieux. thx la team !

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