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/>
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 |