Configurar Pgpool2 como Agrupación de Conexiones “Connection Pooling” de PostgreSQL

El presente instrcutivo tiene como finalidad mostrar los pasos básicos necesarios para la configuración de Pgpool2 como Agrupación de Conexiones “Connection Pooling” de PostgreSQL.

PgPool-II mantiene las conexiones establecidas a los servidores PostgreSQL, y los vuelve a utilizar cada vez que una nueva conexión con las mismas propiedades (es decir, nombre de usuario, la base de datos, la versión del protocolo) entra en acción. Reduce la conexión de arriba, y mejora el rendimiento global del sistema.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe tener instalado el aplicativo PostgreSQL en su versión 9.6

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Instalación:

root@server:/# aptitude install pgpool2

Configuración:

1. Editar archivo de configuración de pgpool:

root@server:/# vim /etc/pgpool2/pgpool.conf


Efectuar los siguiente cambios:

listen_addresses = '0.0.0.0'
port = 5433

# - Backend Connection Settings -
backend_hostname0 = 'IP_SERVIDOR_POSTGRESQL'
backend_port0 = PUERTO_SERVIDOR_POSTGRESQL
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/9.6/main'
backend_flag0 = 'ALLOW_TO_FAILOVER'

# - Authentication -
enable_pool_hba = on
pool_passwd = 'pool_passwd'
authentication_timeout = 60

# - Concurrent session and pool size -
num_init_children = 32
max_pool = 3

# - Life time -
child_life_time = 0
child_max_connections = 0
connection_life_time = 0
client_idle_limit = 0

Nota#1: Tenga en cuenta que el número de conexiones de pgPool-II procesa a los backends puede alcanzar num_init_children * max_pool en total.

Nota#2: Los parámetros num_init_children y max_pool deben estar consola con el parámetro del servidor de postgreSQL “max_connections” y “superuser_reserved_connections”

2. Generar contraseña para la autenticación con pgpool:

root@server:/# pg_md5 -u postgres -m contraseña

Nota: El usuario y el hash MD5 de la contraseña quedarán registrados en el archivo: /etc/pgpool2/pool_passwd. El nombre de usuario y la contraseña deben ser idénticos a los registrados en el servidor PostgreSQL

3. Editar archivo de configuración de acceso de Pgpool2:

root@server:/# vim /etc/pgpool2/pool_hba.conf

Efectuar los siguientes cambios:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                                   md5
# IPv4 local connections:
host    all         all         127.0.0.1/32              md5
host    all         all         DIRECCION_IP_SERVIDOR/32  md5

4. Reiniciar el Servicio:

root@server:/# /etc/init.d/pgpool2 restart

5. Efectuar conexión a PostgreSQL por medio de Pgpool:

root@server:/# psql -Upostgres -p5433 -hlocalhost
Contraseña para usuario postgres: 
psql (9.6.5)
Digite «help» para obtener ayuda.

postgres=#

6. Efectuar pruebas con pgbench mientras efectúa la entonación de PostgreSQL.

Enlaces:
Agrupación de Conexiones
Relación entre la piscina como máximo, los niños num init, y las conexiones max

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s