Re: PgBouncer con varias aplicaciones Java

From: Emanuel Calvo <3manuek(at)gmail(dot)com>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: PgBouncer con varias aplicaciones Java
Date: 2019-09-16 17:03:16
Message-ID: CAJeAsn_9d03qvJB=sJqSQCSegaBU-aH8durYXh4BKceR1nfhgQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

En el PgIbz hice una presentación de esto:
https://github.com/3manuek/slides/blob/master/2019/pgibz/Pooling%20Performance.pdf

Básicamente, la sumatoria de conexiones activas de cada PgBouncer, no
debería ser mayor a (más o menos) a la capacidad
del endpoint. Esto es varia mucho dependiendo el tipo de complejidad en las
transacciones, latencia y consumo de CPU/IO
por parte de las operaciones. Por lo general, suponiendo transacciones muy
eficientes, sin roundtrip y con un consumo >99% de CPU,
la cantidad de conexiones activas en el endpoint no deberías superar la
cantidad de threads disponibles. Si el consumo, por el contrario
es menor y hay mayor asincronicidad respecto a IO, es posible tener un
número mayor, debido a que el mecanismo del kernel permite
operaciones async en el background.

Yo empezaría por: ver cual es la capacidad de tus endpoints (leader y
replicas) en cuanto a cual es el mejor rendimiento respecto a la
cantidad de transacciones activas y, tratar de inferir el uso de CPU
promedio en tus transacciones.

A mayor cantidad de pooles, hay que limitar el pool_size de cada uno, para
que la sumatoria no supere este "soft threshold".

El lun., 16 sept. 2019 a las 13:50, Edwin Quijada (<
listas_quijada(at)hotmail(dot)com>) escribió:

> Hola
> Tengo una aplicacion que corre en un server hecha en Java, esta corre
> varias instancias,10, contra el mismo motor de BD, el problema es que cada
> instancia, como maneja un pool de conexiones, abre 10 conexiones al motor y
> 10x10 son 100 conexiones por eso quiero poner un pg_bouncer que maneje
> todas las conexiones hacia el motor que vienen desde las diferentes
> aplicaciones
> Puedo usar el bouncer para esto ?
> No tengo experiencia con pools desde fuera solo desde la app
>
>

--
--
Emanuel Calvo
3manuek.com

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yessica Brinkmann 2019-09-17 09:38:59 SPI_connect
Previous Message Edwin Quijada 2019-09-16 16:49:57 PgBouncer con varias aplicaciones Java