Re: Built-in connection pooler

Поиск
Список
Период
Сортировка
Искать
От
Konstantin Knizhnik
Тема
Re: Built-in connection pooler
Дата
Msg-id
ca90d2cc-6fbf-e9fa-19b9-b4456bbabdff@postgrespro.ru
Ответ на
Список
Дерево обсуждения
Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Bruce Momjian <bruce@momjian.us>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Thomas Munro <thomas.munro@gmail.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Thomas Munro <thomas.munro@gmail.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Thomas Munro <thomas.munro@gmail.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Ryan Lambert <ryan@rustprooflabs.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Ryan Lambert <ryan@rustprooflabs.com>
Re: Built-in connection pooler Ryan Lambert <ryan@rustprooflabs.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Ryan Lambert <ryan@rustprooflabs.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Jaime Casanova <jaime.casanova@2ndquadrant.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
RE: Built-in connection pooler "ideriha.takeshi@fujitsu.com" <ideriha.takeshi@fujitsu.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
RE: Built-in connection pooler "ideriha.takeshi@fujitsu.com" <ideriha.takeshi@fujitsu.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler David Steele <david@pgmasters.net>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Daniel Gustafsson <daniel@yesql.se>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Daniel Gustafsson <daniel@yesql.se>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Michael Paquier <michael@paquier.xyz>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Daniel Gustafsson <daniel@yesql.se>
Re: Built-in connection pooler Konstantin Knizhnik <knizhnik@garret.ru>
Re: Built-in connection pooler Antonin Houska <ah@cybertec.at>
Re: Built-in connection pooler Zhihong Yu <zyu@yugabyte.com>
Re: Built-in connection pooler Konstantin Knizhnik <knizhnik@garret.ru>
Re: Built-in connection pooler Li Japin <japinli@hotmail.com>
Re: Built-in connection pooler Dave Cramer <pg@fastcrypt.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Ryan Lambert <ryan@rustprooflabs.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Thomas Munro <thomas.munro@gmail.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Thomas Munro <thomas.munro@gmail.com>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
Re: Built-in connection pooler Dimitri Fontaine <dimitri@citusdata.com>
Re: Built-in connection pooler Michael Paquier <michael@paquier.xyz>
Re: Built-in connection pooler Konstantin Knizhnik <k.knizhnik@postgrespro.ru>


On 29.01.2019 0:10, Bruce Momjian wrote:
> On Thu, Jan 24, 2019 at 08:14:41PM +0300, Konstantin Knizhnik wrote:
>> The main differences with pgbouncer&K are that:
>>
>> 1. It is embedded and requires no extra steps for installation and
>> configurations.
>> 2. It is not single threaded (no bottleneck)
>> 3. It supports all clients (if client needs session semantic, then it will be
>> implicitly given dedicated backend)
>>
>>
>> Some performance results (pgbench -S -n):
>>
>> ┌────────────────┬────────┬─────────────┬─────────┬─────────────────────────┐
>> │ #Connections   │ Proxy  │ Proxy/SSL   │ Direct  │ Direct/SSL   │
>> ├────────────────┼────────┼─────────────┼─────────┼──────────────┤
>> │ 1              │  13752 │       12396 │   17443 │        15762 │
>> ├────────────────┼────────┼─────────────┼─────────┼──────────────┤
>> │ 10             │  53415 │       59615 │   68334 │        85885 │
>> ├────────────────┼────────┼─────────────┼─────────┼──────────────┤
>> │ 1000           │  60152 │       20445 │   60003 │        24047 │
>> └────────────────┴────────┴─────────────┴─────────┴──────────────┘
> It is nice it is a smaller patch.  Please remind me of the performance
> advantages of this patch.
>
The primary purpose of pooler is efficient support of large number of 
connections and minimizing system resource usage.
But as far as Postgres is not scaling well at SMP system with larger 
number of CPU cores (due to many reasons discussed in hackers)
reducing number of concurrently working backends can also significantly 
increase performance.

I have not done such testing yet but I am planing to do it as well as 
comparison with pgbouncer and Odyssey.
But please notice that this proxy approach is by design slower than my 
previous implementation used in PgPRO-EE (based on socket redirection).
At some workloads connections throughout proxy cause up to two times 
decrease of performance comparing with dedicated backends.
There is no such problem with old connection pooler implementation which 
was always not worser than vanilla. But it doesn't support SSL connections
and requires much more changes in Postgres core.







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


В списке pgsql-hackers по дате отправления
От: Takashi Menjo
Дата:
От: Konstantin Knizhnik
Дата:
Сообщение: Re: Built-in connection pooler
FAQ