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