From: | Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> |
---|---|
To: | Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: congestion de postgres ??? |
Date: | 2005-09-02 16:34:42 |
Message-ID: | fa2b6e3a050902093445ab7e18@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 2/09/05, Alvaro Herrera<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> On Fri, Sep 02, 2005 at 08:52:17AM -0500, Luis Guevara wrote:
>
> Hola,
>
> > Mi problema era que a medida que pasaban los dias notaba que se habia
> > hecho bastante lento. En un primer momento, pensé que era por la data
> > que estaba aumentando y habia que hacer VACUUM ademas de ajustar las
> > consultas, pero ahora me doy cuenta que no es eso, sino más bien al
> > parecer hay mucha CONGESTION
>
> Bueno, y? Haces VACUUM y ANALYZE con la suficiente frecuencia?
>
Si he hecho VACUUM y ANALIZE, mas o menos 1 vez por semana (osea 3
veces hasta el momento).
El VACUUM lo ejecuto desde el PGADMIN, donde tengo tres opciones para elegir:
FULL
FREEZE
ANALIZE
Aparece la opcion ANALIZE activada por defecto, por tanto ese VACUUM
ejecuto. Aun no he leido para que es el FULL y el FREEZE, mi ingles
es bastante pobre. Te agradeceria puedas darme algun detalle de estas
opciones.
> Usa contrib/pgstattuple para determinar que tanto espacio perdido hay en
> las tablas.
>
¿ Como puedo usar contrib/pgstattuple ?
> > No hago conexiones persistentes, pero si tengo un modulo de
> > comunicacion entre usuarios activos en el sistema, este modulo lo que
> > hace es: Desde que ingresa el usuario al sistema, cada 4 segundos
> > efectúa una consulta a una tabla de mensajes para verificar si alguien
> > le ha enviado un mensaje al usuario activo, esta tabla tiene en este
> > momento 800 registros y cada tres dias se eliminan todos.
>
> La consulta esa de los mensajes, hace un seqscan o usa un indice? Esa
> tabla recibe todo el VACUUM necesario?
>
La consulta de los mensajes usa un indice y además la tabla por lo
general no pasa de 800 registros. Al hacerle el VACUUM a toda la base
de datos ¿ no se supone que está haciendole a esa tabla de mensajes ?
>
> > Entonces si hay 100 usuarios activos y todos a la vez, cada 4 segundos
> > lanzando consultas en Postgres, además de efectuar sus operaciones
> > propias correspondientes del sistema, definitavemente me parece que es
> > congestión.
> >
> > ¿ alguna idea sobre esto ? ¿ como podria mejorar este esquema ? ¿ como
> > puedo controlar esta congestion de tal manera que no me afecte la
> > velocidad ?
>
> Si la consulta esta optimizada al maximo, y dices que el sistema
> funciona bien con 20 usuarios consultando cada 4 segundos, entonces para
> soportar 100 usuarios los que necesitas es tener un sistema de discos 5
> veces mas rapido. En tal caso, considera
>
> 1. agregarle memoria al sistema
> 2. comprar una controladora RAID SCSI soportada con baterias
> 3. comprar discos suficientes para armar un RAID 10 con unos 4 discos
> muy rapidos
>
Ok. vamos a considerar estas opciones de manera urgente
> Otra alternativa que se me ocurre es, con los 100 usuarios, bajar los 4
> segundos a 20. Asi deberias tener, en promedio, la misma cantidad de
> consultas que 20 usuarios cada 4 segundos.
>
mmmmm voy aumentar un poco el intervalo del tiempo en que se consulta,
pero a lo mucho puede ser a 10 segundos. Porque aqui les interesa
mucho que la comunicacion sea rapida e interactiva.
Gracias.
atte.
Luis Guevara
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2005-09-02 17:09:37 | RE: vista de varias tablas en dos bases distintas |
Previous Message | Douglas Escobar | 2005-09-02 15:15:05 | RE: problemas con tabla |