Re: VACUUM y CLUSTER

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Manuel Lamas <manuel3w(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: VACUUM y CLUSTER
Date: 2008-04-24 12:48:15
Message-ID: 20080424124815.GA5593@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-04-24 12:55:20 Re: De UTF8 a ISO-8859-1
Previous Message jose ricardo 2008-04-24 12:40:32 problemas con COPY y caracteres especiales