Re: Built-in connection pooling

From: Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>
To: Dave Cramer <davecramer(at)gmail(dot)com>
Cc: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Built-in connection pooling
Date: 2018-04-20 07:49:31
Message-ID: 28abdf0d-0d08-0b73-97ad-261516a63af2@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 19.04.2018 17:27, Dave Cramer wrote:
>
>
> On Thu, Apr 19, 2018, 9:24 AM Konstantin Knizhnik,
> <k(dot)knizhnik(at)postgrespro(dot)ru <mailto:k(dot)knizhnik(at)postgrespro(dot)ru>> wrote:
>
>
>
> On 19.04.2018 07:46, Tsunakawa, Takayuki wrote:
> > From: Konstantin Knizhnik [mailto:k(dot)knizhnik(at)postgrespro(dot)ru
> <mailto:k(dot)knizhnik(at)postgrespro(dot)ru>]
> > Oracle, for example, you can create dedicated and non-dedicated
> backends.
> >> I wonder why we do not want to have something similar in Postgres.
> > Yes, I want it, too.  In addition to dedicated and shared server
> processes, Oracle provides Database Resident Connection Pooling
> (DRCP).  I guessed you were inspired by this.
> >
> >
> https://docs.oracle.com/cd/B28359_01/server.111/b28310/manproc002.htm#ADMIN12348
>
> It seems to be that my connection pooling is more close to DRCP
> than to
> shared servers.
> It is not clear from this article what this 35KB per client
> connection
> are used for...
> It seems to be some thing similar with session context used to
> suspend/resume session.
> In my prototype I also maintain some per-session context to keep
> values
> of session specific GUCs, temporary namespace, ...
> Definitely pooled session memory footprint depends on size of
> catalog,
> prepared statements, updated GUCs,... but 10-100kb seems to be a
> reasonable estimation.
>
>
> >
> > BTW, you are doing various great work -- autoprepare,
> multithreaded Postgres, built-in connection pooling, etc. etc.,
> aren't you?  Are you doing all of these alone?
> Yes, but there is huge distance from prototype till product-ready
> solution. And definitely I need some help here. This is why I have to
> suspend future development of multithreaded version of Postgres
> (looks
> like it is not considered as some realistic project by community).
> But with builtin connection pooling situation is better and I am
> going
> to tests it with some our clients which are interested in this
> feature.
>
>
> Konstantin
>
>
>
> It would be useful to test with the JDBC driver
>
> We run into issues with many pool implementations due to our
> opinionated nature

I have tested built-in connection pool with YCSB benchmark which is
implemented in Java and so works through JDBC driver.
Results were published in the following mail in this thread:
https://www.postgresql.org/message-id/7bbbb359-c582-7a08-5772-cb882988c0ae%40postgrespro.ru

--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Konstantin Knizhnik 2018-04-20 07:56:28 Re: Built-in connection pooling
Previous Message Vladimir Sitnikov 2018-04-20 07:48:52 Re: Built-in connection pooling