Skip site navigation (1) Skip section navigation (2)

Re: ficheros wals y problema con disco

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Israel de las Heras <idelasheras(at)redsa(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ficheros wals y problema con disco
Date: 2006-12-22 13:33:54
Message-ID: 20061222133354.GU5199@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Israel de las Heras escribió:
> Estoy teniendo problemas cuando se generan los ficheros wals.
> 
> Tenemos una bd con bastante actividad y cuando se generan los ficheros wals
> se llegan a para las transacciones lo que provoca que las peticiones a la
> base de datos acumulen y se rechacen por timeout. Sólo tenemos un disco
> SATA.

Los ficheros WAL se generan constantemente, con cada INSERT, UPDATE,
etc.  Cada cambio que se hace en una tabla, queda registrado en WAL.
Por lo tanto, decir que "tienes problemas cuando se generan estos
archivos" no es correcto.  Lo que yo sospecho que tienes es problemas
cuando se ejecuta un CHECKPOINT, que es una operacion que puede ser
costosa en I/O y puede causar la lentitud que estas observando.

Cosas que puedes hacer:

1. hacer que el bgwriter sea mas proactivo, de manera de disminuir el
costo de CHECKPOINT.  (Esto lo haces manejando los parametros bgwriter_*
en postgresql.conf).

2. hacer que los checkpoints sean mas distanciados en el tiempo,
aumentando los parametros checkpoint_segments y checkpoint_timeout.
Pero ojo, esto va a hacer que cada checkpoint sea mas caro (aunque
habran menos), por lo tanto es importante combinar esta solucion con la
de arriba.

Que version estas usando?  Que has hecho para optimizar el sistema?
Cada cuanto tiempo ocurren los checkpoints?

> Hay algún problema si no genero los wals? Sólo afecta a la restauración en
> caso de caída?

No puedes "no generarlos", asi que esta pregunta no tiene respuesta.

> Es cierto que es recomendable sacar los wals a otro disco?

Si quieres ganar rendimiento, si, pero eso no te va a ayudar a
solucionar el problema de los checkpoint, porque la carga de I/O durante
checkpoint se genera sobre los archivos de las tablas, no sobre los
archivos de WAL.

> Estamos pensando en montar un RAID. Esto puede ser una solucción? Qué nivel
> de RAID es me recomendáis?

Puede soluccionar algunos problemas, pero antes de hacer tal cosa sería
bueno saber _cual_ es tu problema, y _despues_ buscarle una soluccion.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

pgsql-es-ayuda by date

Next:From: Marconi PovedaDate: 2006-12-23 08:59:04
Subject: Duda en creacion de usuarios
Previous:From: Rodrigo Gil GiulianoDate: 2006-12-22 12:44:19
Subject: ¿Es Posible con pl/psql?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group