RE: VACUUM y CLUSTER

From: Manuel Lamas <manuel3w(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: VACUUM y CLUSTER
Date: 2008-04-24 15:13:51
Message-ID: BLU136-W1394C8F7EB50D6FA3FC5695E20@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


> Subject: Re: [pgsql-es-ayuda] VACUUM y CLUSTER
>
> Manuel Lamas escribió:
>
>>>> Dicho asi, el problema parece serio.>> Lo es.
>> OK, lo tomo en cuenta.
>>> Pero, ¿para qué haces CLUSTER? ¿Es realmente necesario?
>>
>> Hay varias tablas grandes con muchisimos UPDATE's en el día. Por haber
>> hecho muchos test, te puedo explicar que con solo un VACUUM ANALYSE no
>> alcanza... el sistema sigue lento. Lo que mejor resultado me dio es de
>> hacer un CLUSTER seguido de un VACUUM..después queda impecable por 24
>> horas.
>
> Entonces lo que necesitas es hacer VACUUM mas a menudo en las tablas
> donde se ejecutan esos update. Quizas cada una hora, o algo asi.
>
>>> Los procesos de mantención periodica no tienen por que bloquear a
>>> los usuarios del sistema. Si lo hacen, hay algo que estas mal.
>
>> En teoría el sistema sigue funcionando. Lo que pasa es que en el
>> proceso CLUSTER + VACUUM el sistema se enlentece mucho. En ese caso
>> prefiero impedir a los usuarios de conectarse con una advertencia de
>> mantenimiento que de dejarlos frente a un sistema lento (y que
>> interpreten razones incorrectas).
>
> Entonces usa vacuum_cost_delay, que hace que vacuum duerma un rato cada
> cierto tiempo para afectar menos al resto del sistema.
>
> CLUSTER toma un lock exclusivo en la tabla que procesa, asi que no es
> que se enlentezca sino que se detiene totalmente (para esa tabla).
>
>
>>> Una advertencia: las versiones anteriores a 8.1.6 tienen un bug en>
>>> autovacuum con muy malas consecuencias -- aun si tienes autovacuum>
>>> desactivado. Te aconsejo actualizar a 8.1.11 (o cual sea la version
>>> mas reciente de 8.1, ya no recuerdo).
>
>> Estoy con 8.1.4 y tengo activado el autovacuum desde hace mas o menos
>> un año. Por ahora no vi nada raro. En que consisten las malas
>> consecuencias ?
>
> Que procesa template0 sin la opcion FREEZE, lo cual hace que queden
> tuplas mas marcadas. En el momento mismo no lo notaras, pero cuando
> llegue el tiempo de hacerle un segundo vacuum te arrojara un error
> porque no puede encontrar un archivo en pg_clog.
>
> Si no quieres hacer el upgrade es cosa tuya, por supuesto, pero no te
> quejes cuando falle :-D
>
> Hay otros bugs en 8.1.4 tambien.

Gracias Alvaro, tus consejos me parecen muy bien. Haré un test cambiando el vacuum_cost_delay y haciendo un VACUUM en las tablas pesadas todas la horas a ver como se porta el sistema.

Por el upgrade a una versión mas reciente, tambien me parece muy necesario según tus explicaciones. Voy a leer todo lo que encuentre sobre el tema antes de hacerlo porque la verdad es que tengo miedo de hacer un error y dejar el sistema inutilizable durante un buen tiempo.

Estoy con OpenBSD y compilo Postresql a partir del código source. Hasta ahora, cada vez que cambié de versión de Postgres, hice una instalación completa del sistema (OS,database,API,etc). No se muy bien como hacer (y si es complicado y arriesgado) un upgrade a partir del código source.

Muchisimas gracias por tu inmensa ayuda generosa.
Manuel

_________________________________________________________________
Trouvez vos infos rapidement et précisément avec Windows Live Instant Search ! Essayez-le maintenant!
http://g.msn.ca/ca55/220

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rubén F. Santiago 2008-04-24 15:39:19 hosting postgres
Previous Message RUBÉN F. SANTIAGO 2008-04-24 14:54:06 hosting postgres