public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: Bee.Lists <[email protected]>
Cc: Submit Postgresql Novice <[email protected]>
Subject: Re: Connections Increasing Slowly
Date: Mon, 22 Jun 2020 16:11:48 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

"Bee.Lists" <[email protected]> writes:
> Hi folks.  My PostgreSQL server has a growing number of connections.  
> Currently it’s at 115.  max_connections set to 300.  It’s being accessed from public (web application), server cron once a day, and two clients on the LAN, a handful of times a day.  

> I’m a bit surprised that the connection pool isn’t purged during this time.  

Postgres doesn't really think that killing connections is part of its
charter.  (There is idle_in_transaction_session_timeout, but that's
there to guard against a specific performance issue, not to kill
non-misbehaving sessions.)

You should probably think about putting a connection pooler such as
pgbouncer in front of your server.  That's a better idea for lots of
low-resource-demand clients than giving them direct server connections.
And I think you're more likely to find features for killing idle
connections there, too.

Another idea, if you suspect that the idle connections are caused
by firewall timeouts or the like, is to enable more aggressive
TCP keepalive checking, to ensure the server notices if a client
isn't there at all anymore.  See the tcp_keepalives_* settings.

			regards, tom lane





view thread (8+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Connections Increasing Slowly
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox