Tuning Postresql Max Connections

Tuning Postresql Max Connections
Quando si utilizza PostgreSQL, è possibile eseguire un'istanza in cui le connessioni massime attualmente disponibili sono insufficienti per gestire le connessioni simultanee al server di database. PostgreSQL ha 100 connessioni per impostazione predefinita, il che non è sufficiente quando un'applicazione richiede più connessioni.

Quando hai numerose connessioni simultanee per il tuo server, superando il numero predefinito, ti imbatterai in "Errore fatale: già troppi clienti."Tuttavia, è possibile mettere a punto le connessioni Max PostgreSQL per soddisfare le tue esigenze. Continuare a leggere!

Verifica delle connessioni massime disponibili in PostgreSQL

Se stai affrontando un messaggio di errore che limita l'applicazione dalla ricezione di connessioni in arrivo, sintonizzando la proprietà PostgreSQL Max Connections per il database è la soluzione. È possibile regolare la proprietà Max_Connections tramite la riga di comando o la GUI. Copriremo in entrambi i modi, ma vediamo prima come verificare il set attualmente set max_connections e i condivisori.

Si noti che la messa a punto della proprietà Max_Connections per il database PostgreSQL influisce sull'utilizzo RAM. Pertanto, è necessario regolarlo solo a una dimensione ragionevole per evitare di scaricare la RAM. Inoltre, altre proprietà come Shared_Buffers saranno interessate quando si ottiene Max_Connections. Si consiglia inoltre di regolare i Shared_Buffer quando si ottiene max_Connections per migliorare le prestazioni dell'applicazione.

Esistono due modi per controllare Max_Connections e Shared_Buffers:

Tramite il file di configurazione

La posizione per il file di configurazione PostgreSQL dipende dalla versione PostgreSQL che si sta eseguendo e dal sistema che si sta utilizzando. Nel nostro caso, abbiamo il database PostgreSQL in esecuzione su Ubuntu. Pertanto, possiamo accedervi tramite il terminale usando il comando seguente:

$ sudo -iu postgres

Una volta accettato il server, eseguire il comando seguente per ottenere il percorso sul file di configurazione:

# Mostra config_file;

Una volta ottenuto il percorso, apri il file di configurazione utilizzando un editor a tua scelta. Qui, lo apriamo usando Nano come segue:

$ nano/etc/postgresql/14/main/postgresql.conf

Scorri verso il basso e trova Max_Connections nel file di configurazione. Nel nostro caso, possiamo vedere che il limite disponibile è il limite predefinito di 100 connessioni.

Più in basso nel file, Shared_Buffers è impostato su 128 MB.

Tramite il comando "Show Max_Connections"

Apri il tuo database PostgreSQL sul tuo terminale ed esegui i seguenti comandi per visualizzare i valori attualmente set max_connections e condiviso_buffer:

# mostra max_connections;
# Mostra condiviso_buffers;

Riceviamo ancora gli stessi valori di quando abbiamo accesso al file di configurazione nel metodo precedente.

Due metodi nella messa a punto delle connessioni Max PostgreSQL

È possibile regolare il valore Max_Connections in qualsiasi istanza per soddisfare le tue esigenze, a condizione che non sovraccarichi il database.

Ci sono due approcci da prendere. Innanzitutto, è possibile utilizzare il comando PostgreSQL "alter system" per assegnare un nuovo valore per le tue max_connections. Tuttavia, è possibile accedere al file di configurazione PostgreSQL con privilegi di amministrazione e regolare il valore Max_Connections. Dai un'occhiata ai seguenti esempi:

Tramite il comando PostgreSQL Alter System

Apri il tuo database PostgreSQL sul tuo terminale. Una volta che si accede al server, modifica Max_Connections e Shared_Buffers con la seguente sintassi. Sostituisci i valori per abbinare quelli per le tue preferenze:

# Altera il set di sistema max_connections = dimensione della connessione;
# Alter System SET SHADID_BUFFERS = dimensione dei buffer;

Per il nostro esempio, abbiamo impostato Max_Connections = 250 e Shared_Buffers = 180MB.

Dopo aver sintonizzato il Max_Connections, è necessario riavviare il server di database PostgreSQL per le modifiche per avere effetto. Qui, riavvia il servizio PostgreSQL con il comando SystemCtl.

$ sudo systemctl riavvia postgresql

Verifica rapidamente se vengono implementati i nuovi max_connections e i condivisori.

Tramite il file di configurazione postgresql

È possibile regolare direttamente il max_connections accedendo a PostgreSQL con i privilegi di amministrazione. Il percorso del file di configurazione è lo stesso di quello a cui hai acceduto prima quando si verificano il set attualmente set max_connections e condiviso_buffers.

$ nano/etc/postgresql/14/main/postgresql.conf

Quando si apri il file, individuare Max_Connections e modificare il suo valore al nuovo limite che si desidera impostare.

Tuttavia, accedi a Shared_Buffers e cambia il suo limite a quello preferito, a seconda della risorsa di sistema che hai per il tuo caso.

Salva le modifiche ed esci dall'editor di file. È quindi necessario riavviare il server di database PostgreSQL per le modifiche per avere effetto.

Con ciò, hai regolato correttamente la proprietà PostgreSQL Max_Connections sul tuo server. Pertanto, elimini l'errore che stavi affrontando in precedenza e goditi una migliore prestazione per la tua applicazione, con connessioni più simultanee servite dal tuo server di database PostgreSQL.

Conclusione

PostgreSQL consente di regolare il Max_Connections per consentire più connessioni simultanee al database. La messa a punto delle connessioni massime di PostgreSQL può essere eseguita in due modi. È possibile accedere al suo file di configurazione e modificare manualmente il valore Max_Connections. In alternativa, è possibile utilizzare il terminale con il comando "Altera sistema" e impostare il nuovo valore Max_Connections. Questa guida presentava entrambi i metodi. Provali!