Duda con "conexiones persistentes"

luis miguel morillas morillas en posta.unizar.es
Lun Feb 3 23:09:38 CET 2003


	Asunto: Re: [Python-es] Duda con "conexiones persistentes"
	Fecha: lun, feb 03, 2003 at 01:03:51 +0100


Citando a  Marcos Sánchez Provencio (rapto en arrakis.es):
> El vie, 31-01-2003 a las 13:12, Sergio escribió:
> > Hola Erik,
> > 
> > El jue, 30-01-2003 a las 22:12, Erik Rivera Morales escribió:
> > 
> > > Estoy realizando un proyecto con python y postgresql, utilizo pygresql;
> > > no se mucho de base de datos, y al estar revisando ejemplo de conexiones
> > > a postgresql encontre el termino "conexiones persistentes" el cual no
> > > comprendo a que se refiere, veo que lo utilizan mucho pero no entiendo
> > > para cual es el objetivo.
> > 
> > 	Una conexión persistente es una conexión continua entre un cliente y un
> > servidor. Para que la entiendas mejor, en el caso de las conexiones no
> > persistentes como las HTTP (las de las webs), se conecta el cliente con
> > el servidor, se realizan una serie de transacciones y seguidamente se
> > finaliza la conexión. En las persistentes esto último no ocurre,
> > manteniendose la conexión en espera hasta que se realicen nuevas
> > transacciones o hasta que se indique explicitamente que se finalice la
> > misma.
> OK
> > 
> > 	Su gran desventaja es el consumo de ancho de banda, ya que ocupa
> > espacio en el mismo mientras la conexión se mantiene activa. Por eso no
> > es recomendable este tipo de conexiones si el medio de transmisión tiene
> > un ancho de banda relativamente limitado (conexiones telefónicas,
> > incluso conexiones de cable y ADSL de pequeño caudal). Su ventaja, es
> > más óptimo en ciertos aspectos, al no tener que conectar y desconectar
> > cada vez que se hace una transacción. De todos modos, es recomendable
> > sólo usar este tipo de conexiones en redes locales que no estén de por
> > sí saturadas.
> > 
> En este párrafo no estoy yo tan de acuerdo. El problema de las
> conexiones persistentes es de la gente que se desengancha sin avisar,
> dejando las conexiones abiertas.
> 

No lo tengo claro. En principio parece que el usuario no es el que tiene que
avisar ¿no?. Al intentar una conexión se revisan las conexiones vivas y si 
alguna coincide, se utiliza.  Pero sí que es cierto que un cliente mal 
programado puede saturar el límite de conexiones a la base de datos. 

Un resumen del tema (aunque centrado en php) se puede ver en:
http://aspn.activestate.com/ASPN/Products/PHP/features.persistent-connections.html

-- 

Saludos

Luis Miguel




Más información sobre la lista de distribución Python-es