Re: PgBouncer: query_wait_timeout

Daniel Luiz da Silva <daniel.silva-EsHhK8tFoF1fyO9Q7EP/[email protected]> Wed, 27 Dec 2017 14:26:29 -0200 (BRST)
Newsgroups gmane.comp.db.postgresql.brasil
Message-ID <449173309.7144738.1514391989191.JavaMail.zimbra__25755.2473260604$1514391884$gmane$org@ipm.com.br>


De: "Crauss, Jacson" <[email protected]> 
Para: "Comunidade PostgreSQL Brasileira" <pgbr-geral-b/[email protected]> 
Enviadas: Quarta-feira, 27 de dezembro de 2017 14:18:08 
Assunto: [pgbr-geral] PgBouncer: query_wait_timeout 

Pessoal, boa tarde! 

Tenho um servidor com alguns databases que são acessados através do pgbouncer. O que está ocorrendo para alguns (somente para alguns) databases é que ao tentar conectar através do pgadmin, jenkins ou jboss, fica um tempo travada a ferramenta, como se estivesse tentando conectar, mas no log do pgbouncer não loga nada, nem a tentativa de conexão, e após algum tempo ocorre erro de timeout, e aí sim aparece no log do bouncer o erro... 

No exemplo abaixo eu fiz a tentativa de conexão por volta das 13:46, e dois minutos depois (é o tempo default do query_wait_timeout pelo que eu li na documentação do bouncer) logou o erro abaixo: 

2017-12-27 13:48:54.506 7406 LOG C-0x948218: dbteste/ usrteste-eibseE1NuP42cXP3M/[email protected]:45200 closing because: query_wait_timeout (age=120) 
2017-12-27 13:48:54.506 7406 WARNING C-0x948218: dbteste/ [email protected]:45200 Pooler Error: query_wait_timeout 

Alguém já passou por este problema? 



_______________________________________________ 
pgbr-geral mailing list 
pgbr-geral-b/[email protected] 
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

-- 

Jacson, 

esse tempo é sobre tempo máximo que poderá aguardar para conectar no banco de dados, ou seja, está aguardando conexão para conectar no postgres. Na prática essa configuração retém a tentativa de conexão no pool por esse tempo, e após liberado alguma conexão para conectar no Postgres. 

O que pode estar acontecendo é que as conexões com banco de dados (max_connections no postgresql.conf), chegou no limite, e cada conexão nova fica na fila do pgbouncer para conectar durante esse tempo até uma conexão estar disponível novamente. Monitora a quantidade de conexões no banco de dados durante o período que não conseguir conexão e verifica se está acontecendo essa situação. É importante validar se não está ocorrendo bloqueios, porque poderá chegar ao limite de conexão rapidamente. O arquivo do log do Postgres poderá informa-lo sobre essas situações.

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral