Re: Connection queuing by connection pooling libraries - Mailing list pgsql-general

From Vijaykumar Jain
Subject Re: Connection queuing by connection pooling libraries
Date
Msg-id CAM+6J9424zff2_eZfRx9xNzV1wNaYhj+e3yjhyGy3w88s6cZ8g@mail.gmail.com
Whole thread Raw
In response to Re: Connection queuing by connection pooling libraries  (Vijaykumar Jain <vijaykumarjain.github@gmail.com>)
Responses Re: Connection queuing by connection pooling libraries
List pgsql-general

On Tue, 19 Oct 2021 at 23:09, Vijaykumar Jain <vijaykumarjain.github@gmail.com> wrote:

On Tue, 19 Oct 2021 at 22:45, Saurav Sarkar <saurav.sarkar1@gmail.com> wrote:

Hi All, 


A basic question on handling large number of concurrent requests on DB.

I have a cloud service which can get large of requests which will obviously trigger the db operations.

Every db will have some max connection limit which can get exhausted on large number of requests.

I know db connection pooling can be used to reuse the connections but it will not help when there are large number of active concurrent connections. My queries are already optimised and short living.

For that i need some queuing mechanism like pgbouncer for postgres https://www.percona.com/blog/2021/02/26/connection-queuing-in-pgbouncer-is-it-a-magical-remedy/

pgbounder i understand is a proxy which needs to be separately installed on the web or db server.

I was thinking if the normal client side db connection pooling libraries like Apache DBCP , can also provide similar connection queuing while running in the application runtime.



btw there are other options as well to pgbouncer which are in active development, incase you wish to explore.
  

also, 
some people ( like myself :)  split read/writes and use primary and a set of replicas for connections to handle scale.
so a pretty common architecture makes use of 


pgsql-general by date:

Previous
From: Vijaykumar Jain
Date:
Subject: Re: Connection queuing by connection pooling libraries
Next
From: Bryn Llewellyn
Date:
Subject: Re: Where is the tsrange() function documented?