Primero, lea nuestra pregunta canónica sobre planificación de la capacidad.
En segundo lugar, estás viendo esto mal.
La cantidad de memoria (o cualquier otro recurso) que tenga no dicta la cantidad de conexiones que establezca, la cantidad de conexiones que necesita dicta qué tan robusto debe comprar un servidor.
Los requisitos de recursos por conexión se brindan en el manual con considerable detalle, y también se analizan en el Wiki al que se vinculó. Averigüe qué necesita su entorno (o haga una suposición fundamentada) y asegúrese de que el hardware en el que se va a ejecutar pueda manejar lo que le va a lanzar.
Específicamente en relación con los límites de conexión y el tamaño del grupo, debe tener "suficientes" conexiones para cumplir con los requisitos de su aplicación, ya sea en un solo servidor o a través de un grupo/rebotador.
"Suficiente" es un número relativo:una aplicación que realiza (y reutiliza continuamente) una conexión solo requiere una conexión. Una aplicación que establece una conexión para cada usuario final que inicia sesión requiere tantas conexiones de base de datos como usuarios.
Los valores predeterminados para Postgres y pgbouncer
son sensatos como predeterminados :
-
100 conexiones de base de datos es mucho para la persona típica que lanza Postgres a un entorno.
Los desarrolladores probablemente no necesitarán más de 10. Cualquier otra persona sabrá lo suficiente como para aumentar el número. -
20 conexiones de
pgbouncer
por grupo de base de datos significa que puede obtener 4 grupos que apuntan a un servidor y no abrumar el límite de conexión predeterminado de Postgres.
Es posible tener múltiples recursos agrupados enpgbouncer
apuntando a una base de datos de back-end, y siempre querrá algunas conexiones disponibles en sus servidores de back-end.
Si los predeterminados no son adecuados para su entorno, se espera que los cambie.
Recuerde que las conexiones agrupadas no significan "siempre vincular todas las conexiones de bases de datos disponibles".
El punto de pgbouncer
como anotaste es para reutilizar conexiones La ganancia de eficiencia aquí no requiere que ate todas las conexiones disponibles, simplemente que no desconecte, vuelva a conectar, renegociar SSL, volver a autenticarse en la base de datos y volver a ejecutar sus consultas de configuración de conexión cada vez.