Innanzitutto, leggi la nostra domanda canonica sulla pianificazione della capacità.
Secondo, stai guardando questo sbagliato.
La quantità di memoria (o qualsiasi altra risorsa) che hai non determina il numero di connessioni che imposti, il numero di connessioni di cui hai bisogno determina quanto è robusto un server che devi acquistare.
I requisiti delle risorse per connessione sono forniti nel manuale in modo molto dettagliato, nonché discussi sul Wiki a cui ti sei collegato. Scopri di cosa ha bisogno il tuo ambiente (o fai un'ipotesi plausibile) e assicurati che l'hardware su cui eseguirai sia in grado di gestire ciò che gli lancerai.
In particolare per quanto riguarda i limiti di connessione e le dimensioni del pool, dovresti disporre di connessioni "sufficienti" per soddisfare i requisiti della tua applicazione, su un singolo server o tramite un pool/bouncer.
"Abbastanza" è un numero relativo:un'applicazione che crea (e riutilizza continuamente) una connessione richiede solo una connessione. Un'applicazione che stabilisce una connessione per ogni utente finale che effettua l'accesso richiede tante connessioni DB quanti sono gli utenti.
I valori predefiniti sia per Postgres che per pgbouncer
sono ragionevoli come predefiniti :
-
100 connessioni al database sono molte per la persona tipica che lancia Postgres in un ambiente.
Gli sviluppatori probabilmente non avranno bisogno di più di 10. Chiunque altro saprà abbastanza per aumentare il numero. -
20 connessioni da
pgbouncer
per pool DB significa che puoi ottenere 4 pool che puntano a un server e non superare il limite di connessione Postgres predefinito.
È possibile avere più risorse in pool inpgbouncer
puntando a un database back-end e vuoi sempre alcune connessioni disponibili sui tuoi server back-end.
Se predefinito non sono adatti al tuo ambiente, devi cambiarli.
Ricorda che le connessioni in pool non significa "bloccare sempre ogni connessione al database disponibile".
Il punto di pgbouncer
come hai notato è riutilizzare connessioni. Il guadagno di efficienza qui non richiede di legare ogni connessione disponibile, ma semplicemente di non disconnettersi, riconnettersi, rinegoziare SSL, autenticarsi nuovamente al database e rieseguire le query di configurazione della connessione ogni volta.