sql >> Base de Datos >  >> RDS >> PostgreSQL

Deshabilitar la agrupación de conexiones en Rails para usar PgBouncer

TLDR; no cambies nada

La agrupación en rieles es diferente a la agrupación en PGBouncer. El grupo de conexiones de Rails es un grupo de conexiones disponibles para cualquier subproceso dentro de ese proceso, generalmente solo 1. Cada conexión en su grupo de Rails tendrá una conexión a su base de datos de Postgres, o PGBouncer si está frente a Postgres. En una aplicación Rails grande, ejecutará varios procesos Rails en cada servidor y varios servidores detrás de un equilibrador de carga. Algo como esto:

Sin PGBouncer, cada conexión a postgres crea un nuevo proceso de postgres. A escala, querrá limitar la cantidad de procesos de postgres que se ejecutan para no maximizar la CPU y la memoria. PGBouncer agrupa las conexiones de todos sus grupos de rieles en todos los procesos y todos los servidores, y cambia de manera eficiente entre ellos.