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
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
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 ?
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
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
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
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
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 !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
poirier-thierry
Membre depuis le 02/07/2019actif
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 ?