Saltar al contenido

¿Cómo aumentar las conexiones máximas en postgres?

Solución:

Solo aumentando max_connections es mala idea. Necesitas aumentar shared_buffers y kernel.shmmax así como.


Consideraciones

max_connections determina el número máximo de conexiones simultáneas al servidor de la base de datos. El valor predeterminado suele ser 100 conexiones.

Antes de aumentar el recuento de conexiones, es posible que deba ampliar su implementación. Pero antes de eso, debe considerar si realmente necesita un límite de conexión mayor.

Cada conexión de PostgreSQL consume RAM para administrar la conexión o el cliente que la usa. Cuantas más conexiones tenga, más RAM utilizará que podría utilizarse para ejecutar la base de datos.

Por lo general, una aplicación bien escrita no necesita una gran cantidad de conexiones. Si tiene una aplicación que necesita una gran cantidad de conexiones, considere usar una herramienta como pg_bouncer que puede agrupar las conexiones por usted. Como cada conexión consume RAM, debería intentar minimizar su uso.


Cómo aumentar las conexiones máximas

1. Incrementar max_connection y shared_buffers

en /var/lib/pgsql/{version_number}/data/postgresql.conf

cambio

max_connections = 100
shared_buffers = 24MB

para

max_connections = 300
shared_buffers = 80MB

los shared_buffers El parámetro de configuración determina cuánto memoria es dedicado a PostgreSQL para usar almacenamiento en caché de datos.

  • Si tiene un sistema con 1 GB o más de RAM, un valor inicial razonable para shared_buffers es 1/4 de la memoria de su sistema.
  • es poco probable que el uso de más del 40% de RAM funcione mejor que una cantidad menor (como el 25%)
  • Tenga en cuenta que si su sistema o la compilación de PostgreSQL es de 32 bits, puede que no sea práctico establecer shared_buffers por encima de 2 ~ 2.5GB.
  • Tenga en cuenta que en Windows, los valores grandes para shared_buffers no son tan efectivos, y puede encontrar mejores resultados manteniéndolo relativamente bajo y usando más la caché del sistema operativo en su lugar. En Windows el el rango útil es de 64 MB a 512 MB.

2. Cambie kernel.shmmax

Debería aumentar el tamaño del segmento máximo del kernel para que sea un poco mas grande
que la shared_buffers.

En archivo /etc/sysctl.conf establezca el parámetro como se muestra a continuación. Entrará en vigor cuando postgresql reinicia (La siguiente línea hace que el kernel alcance el máximo 96Mb)

kernel.shmmax=100663296

Referencias

Conexiones de Postgres Max y búferes compartidos

Ajuste de su servidor PostgreSQL

Añadiendo a la gran respuesta de Winnie,

Si alguien no puede encontrar la ubicación del archivo postgresql.conf en su configuración, siempre puede preguntar al propio postgres.

SHOW config_file;

Para mí, cambiar las max_connections solo hizo el truco.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *