Re: Connection queuing by connection pooling libraries

From: Vijaykumar Jain <vijaykumarjain(dot)github(at)gmail(dot)com>
To: Saurav Sarkar <saurav(dot)sarkar1(at)gmail(dot)com>
Cc: PostgreSQL General <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Connection queuing by connection pooling libraries
Date: 2021-10-19 17:50:36
Message-ID: CAM+6J9424zff2_eZfRx9xNzV1wNaYhj+e3yjhyGy3w88s6cZ8g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 19 Oct 2021 at 23:09, Vijaykumar Jain <
vijaykumarjain(dot)github(at)gmail(dot)com> wrote:

>
> On Tue, 19 Oct 2021 at 22:45, Saurav Sarkar <saurav(dot)sarkar1(at)gmail(dot)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.

yandex/odyssey: Scalable PostgreSQL connection pooler (github.com)
<https://github.com/yandex/odyssey>
<https://github.com/yandex/odyssey>pgagroal
<https://agroal.github.io/pgagroal/>

<https://agroal.github.io/pgagroal/>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
Scaling PostgreSQL using Connection Poolers and Load Balancers for an
Enterprise Grade environment - Percona Database Performance Blog
<https://www.percona.com/blog/2018/10/02/scaling-postgresql-using-connection-poolers-and-load-balancers-for-an-enterprise-grade-environment/>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bryn Llewellyn 2021-10-19 17:59:40 Re: Where is the tsrange() function documented?
Previous Message Vijaykumar Jain 2021-10-19 17:39:37 Re: Connection queuing by connection pooling libraries