PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Disabilitazione del pool di connessioni in Rails per utilizzare PgBouncer

TLDR; non cambiare nulla

Il raggruppamento nei binari è diverso dal raggruppamento in PGBouncer. Il pool di connessioni rails è un gruppo di connessioni disponibili a qualsiasi thread all'interno di quel processo, di solito solo 1. Ogni connessione nel pool di rails avrà una connessione al database postgres o PGBouncer se si trova di fronte a postgres. In un'app rail di grandi dimensioni, eseguirai più processi rail su ogni server e più server dietro un sistema di bilanciamento del carico. Qualcosa del genere:

Senza PGBouncer, ogni connessione a postgres crea un nuovo processo postgres. Su larga scala, ti consigliamo di limitare il numero di processi postgres in esecuzione in modo da non esaurire CPU e memoria. PGBouncer raggruppa le connessioni da tutti i pool di rail su tutti i processi e tutti i server e passa da uno all'altro in modo efficiente.