Re: Recomendación sobre el tiempo idle de las conexiones

From: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
To: "Ivan Perales M(dot)" <ivan(dot)perales(at)gmail(dot)com>, Ayuda Esp PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Recomendación sobre el tiempo idle de las conexiones
Date: 2015-08-13 18:00:50
Message-ID: 55CCDB52.1000008@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Ivan

On 13/08/15 14:38, Ivan Perales M. wrote:
> Buenas tardes, pido su opinión ya que no soy muy bueno administrando
> bases de datos.
>
> Tengo un software el cua maneja bases de datos dinámicas, es decir,
> una base de datos fija principal y se crea una base de datos por cada
> cliente que se registra en el programa. El software está desarrollado
> en java y utilizo BasiDataSource de apache como pool de conexiones
> para cada base de datos.
>
> El software es también cliente-servidor, lo que significa que un
> usuario puede estar trabajando con una base de datos y otro usuario
> con otra, lo que significa que se tienen una o más conexiones por cada
> base de datos, mas aparte un usuario puede switchear entre clientes
> con solo seleccionarlo de un listado, lo que implica crear conexiones
> a esa base de datos si nadie la estaba usando.
>
> Hace poco noté que un cliente del software registró mas de 100
> clientes en el programa, y pusieron a una muchacha a cargar cierta
> información a cada cliente, por lo que se crearon 1 conexión por cada
> base y a eso le sumamos que otros usuarios estaban trabajando con
> algunos clientes, pues algunas bases de datos llegaron a tener hasta 5
> conexiones. Llego un momento en que se superaron las 100 conexiones
> predeterminadas para usuarios regulares que ya no se pudo trabajar en
> muchos clientes. Al checar en pg_stat_activity efectivamente estaban
> 99 conexiones. El ultimo uso de la mayoria de conexiones tenia varios
> minutos, de entre 3 hasta 10, por lo que seguramente fueron las
> primeras bases de datos que se abrieron.
>
> Lo que me gustaria me aconsejaran es a decidir si aumento el numero de
> conexiones para usuarios regulares u optimizo los datasource para que
> cierren la conexión a por decir 2 o 3 minutos de que no se utilize. No
> se que tanto le impacte al performance que se esten abriendo nuevas
> conexiones en lugar de mantenerlas abiertas, por poner un ejemplo un
> usuario genera un reporte y comienza a analizar la información, puede
> llevar 10 segundos en lo que genera otro reporte para mejorar el
> análisis ó puede llevarse mas de 10 minutos.
>
No conocemos los recursos que dispones, pero aumentar el num de
conexiones en PostgreSQL no vas a resolver mucho, no conozzo como tu
driver utiliza el pool de conexiones, pero sino no estas claro, se te
aconseja utilizar alguno, el pgbouncer te puede ayudar a resolver el tema
> Además, van a existir algunos procesos automáticos que agarren cada
> base de datos para generar reportes utilizando el datasource, por lo
> que yo no tengo control sobre cuantas conexiones crea cada uno.
>
> Saludos y gracias por su tiempo
>
> --
> Lindolfo Iván Perales Mancinas
> Solo existen 10 tipos de personas en el mundo, las que saben binario y
> las que no.
Saludos

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ivan Perales M. 2015-08-13 18:52:24 Re: [pgsql-es-ayuda] Recomendación sobre el tiempo idle de las conexiones
Previous Message Ivan Perales M. 2015-08-13 17:38:29 Recomendación sobre el tiempo idle de las conexiones