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 04/06/2021 16:46:08

Azure postgresql connection fermée

Bonjour,

J'ai une serveur PaaS Azure Postgresql en version 9.5 (!). Aléatoirement, j'ai des logs (avec une application web comme client) qui m'indique "LOG:  could not send data to client: An existing connection was forcibly closed by the remote host."
Je soupçonne une connexion idle qui est fermée par le serveur (mal gérée, peut être, côté applicatif). Est-ce que j'ai un moyen de confirmer cela en évitant de tracer le réseau (avec wireshark où je ne comprends rien) ?
Quelqu'un a une expérience à ce sujet sur du Azure Postgresql single server ?

A priori, je pense qu'en dehors d'une révision des gestions de connexions, qu'un pgBouncer pourrait régler ce problème. Que puis-je proposer de plus ?

Merci.

Dernière modification par stephane.lorek (04/06/2021 16:46:21)

Hors ligne

#2 04/06/2021 21:38:53

rjuju
Administrateur

Re : Azure postgresql connection fermée

Cela ressemble à une coupure réseau effectivement.  Avez-vous des firewalls ou autre équipement qui pourraient couper des c onnexions en cas d'inactivité ?  Peut être que configurer un timeout / keepalive tcp plus aggressif pourrait résoudre le problème.

Hors ligne

#3 07/06/2021 14:27:57

Re : Azure postgresql connection fermée

Merci de la réponse.
Bonne idée, même si l'application est dans Azure aussi, mais, je vais vérifier.
J'espère aussi avoir des informations sur la gestion des connexions dans l'application.

Hors ligne

#4 07/06/2021 16:31:12

Re : Azure postgresql connection fermée

Finalement, je suis arrivé à avoir le développeur qui garde la session ouverte côté application. Il va changer le comportement et fermer les sessions une fois utilisées.

Hors ligne

#5 07/06/2021 17:59:18

rjuju
Administrateur

Re : Azure postgresql connection fermée

Attention, je ne connais pas votre application mais si cela signifie ouvrir et fermer des connexions en permanence et à grande fréquence, c'est probablement une mauvaise idée.  Ouvrir une connexion sur postgres est loin d'être gratuit, et faire ça plusieurs dizaines de fois par secondes va engendrer une perte de performance significative.

Hors ligne

#6 08/06/2021 15:59:40

Re : Azure postgresql connection fermée

Pour le moment, je n'ai pas de visibilité à ce sujet, on m'a refilé le problème un peu brutalement. Je vais me renseigner là-dessus.  A priori, c'est une application web interne à un service.
On prévoit aussi de mettre en place un pgBouncer.

Hors ligne

#7 10/06/2021 15:10:01

Re : Azure postgresql connection fermée

A priori, le développeur a trouvé un paramètre TrustCertificate dans a chaine de connexion a passer à true (driver npgsql). Je reste prudent, j'ai encore vu passer des FATAL:  connection to client lost suivi de LOG:  could not receive data from client: An existing connection was forcibly closed by the remote host.
Je vais encore investiguer et prendre le temps d'installer un pgbouncer.

Hors ligne

#8 11/06/2021 01:26:37

rjuju
Administrateur

Re : Azure postgresql connection fermée

Effectivement, ce paramètre n'a à priori pas de rapport avec le problème.  Mettre en place un pgBouncer pourrait également être une bonne idée.

Hors ligne

Pied de page des forums