From: | Mario <gonzalemario(at)gmail(dot)com> |
---|---|
To: | "Jaime Quiroga" <jay962(at)hotmail(dot)com>, vbenitez(at)galilea(dot)cl, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Acotar tiempo de Transacciones |
Date: | 2007-03-13 17:43:15 |
Message-ID: | 2065a6cf0703131043m3dd97969t5e0b4f025aa8574f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 13/03/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Lamentablemente no hay un timeout para transacciones, solo para
> sentencias.
>
> Creo que en este caso lo que podria servir seria tcp_keepalives_interval
> en postgresql.conf (solo desde 8.1 hacia arriba me temo)
>
Una vez me toco hacer una asesoria como partime en una empresa X y
el problema que tenian era que las transacciones y conexiones se
agotaban en poco tiempo con pocos clientes. Todos ellos le echaban la
culpa a PostgreSQL y peor aun, finalmente me echaron la culpa a mi de
todo :-) Mi solucion fue decirles que arreglaran el codigo de la
aplicacion que estaban haciendo porque ademas, no me dejaban ver el
fuente de ellos (Creo que fue mejor, sino no se que tremenda cochinada
me hibiera tocado ver). Para peor, la app estaba en 3 capas por lo que
los clientes consultaban a un servidor WEB el cual el finalmente se
conectaba a la DB, por lo que en vez de hacer conexiones persistentes
por proceso, se realizaban conexiones por cada consulta y no se
cerraban. Y como el servidor web en un proceso que siempre esta
corriendo, las conexiones no se cerraban y su aplicacion se colgaba.
Por que digo todo eso? Muchas veces tocar el timeout de una
transaccion o de una conexion (KEEP_ALIVE) _generalmente_ no es una
solucion definitiva.
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mauricio Escobar | 2007-03-13 18:29:08 | Tunning postgres |
Previous Message | José Manuel Ruiz | 2007-03-13 16:51:12 | Re: Mostrar caracteres acentuados en PHP |