PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/07/2020 14:08:22

duple
Membre

wait_event = lock manager wait_event_type = LWlock

Bonjour,
Nous sommes sur un environnement linux centOS avec pg12 d'y installer. Aujourd'hui j'ai remarqué en faisant un htop que plusieurs des requêtes postgres tombent dans un status BIND, vous savez lorsque vous faites un htop pour voir les requêtes en cours et normalement à la fin il y a des "SELECT" ou "idle", cela dépend, et là je dirais que 90% des requêtes sont BIND. Déjà que veut dire ce statut BIND ? C'est pas toujours qu'on voit çà mais c'est plutôt qu'on c'est lent au niveau exécution des requêtes, je soubconne des contentions de locks car en faisant pg_stat_activity on voit que la plupart des requêtes, elles sont en wait_event = lock manager et wait_event_type = LWlock, et une accumulation de requête se fait sentir également suite à cela, après un certain temps çà part bien sur, mais la question est que veut dire exactement wait_event = lock manager et wait_event_type = LWlock ? Quelle en est la cause ? Et comment ou quoi faire si la situation se reproduit et/ou pour que la situation de ce genre ne se reproduise plus ?
Auriez vous une, des idées sur le sujet svp ?

Merci d'avance

Hors ligne

#2 03/07/2020 22:10:22

gleu
Administrateur

Re : wait_event = lock manager wait_event_type = LWlock

Le statut BIND est utilisé pour les requêtes préparées. C'est létat intermédiaire entre l'étape PREPARE et l'étape EXECUTE.

Pour le wait event "lock manager" et le wait_event_type LWLock, le processus exécutant la requête est en attente de l'ajout d'un verrou ou en attente d'examiner les verrous des autres processus. Dans le cas du parallélisme, il est possible aussi qu'il attend de joindre ou de sortir d'un groupe de processus parallélisés.

Quant à résoudre ça, difficile à dire. Je commencerais par regarder ce que font les requêtes, quels verrous sont pris, etc. Je regarderais aussi au niveau système, j'imagine qu'il doit y avoir des problèmes au niveau CPU (trop de processus pour pas assez de CPU).


Guillaume.

Hors ligne

#3 05/07/2020 01:01:15

duple
Membre

Re : wait_event = lock manager wait_event_type = LWlock

Merci pour les conseils.
Pour les CPU, d'après les constats, le load average n'est pas si haut que çà (inférieur au nombre de CPU) surtout lorsque ce phénomène se produit, le load dimunue même.

Hors ligne

Pied de page des forums