RE: Rendimiento de postgres

From: "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>
To: "'Antonio Antonio'" <a2076totonio(at)yahoo(dot)es>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Rendimiento de postgres
Date: 2009-09-14 16:02:18
Message-ID: CE60FA425BEF417F9297F56FFB47047D@iptel.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> -----Mensaje original-----
> De: Antonio Antonio
>
> Hola lista, antes de nada agredecer cualquier ayuda que puedan darme.
>
> Anteriormente habia escrito a la lista pq tenia un problema
> con el número máximo de ficheros que podía abrir el servidor,
> después de modificar alguna que otra configuran de la máquina
> y preguntar me recomendaron utilizar un pool de conexiones
> como era el pgbouncer.... lo instale pero "naranjas de la
> china" no me sirvio.
>
> Desesperado, he contratado un servidor dedicado presuponiendo
> que iría todo mejor, pero nada más lejos de la realidad, es
> cierto que ahora no me da el problema de demasiados ficheros
> abiertos, pero cada vez que hago un ps aux o un top veo que
> el postmaster esta a tope, es decir, si tengo 100 conexiones
> como máximo veo las 100 conexiones abiertas, lo que hace que
> el servidor este demasiado lento, es casi imposible escribir
> en él cuando sucede esto, prometo que no se trata de código
> mal escrito, es decir, no tengo en ningún lado código que
> abra conexiones de más, además trabajo con Singleton para
> evitar este tipo de errores.
>
> He instalado postgres en un centos 5.1 con 2 Mg de Ram 200 Gb
> de disco duro, lo he hecho con yum, he modificado 2 cosas en
> el pg_hba.conf para que permita la conexion desde fuera y el
> postgres.conf ni lo he tocado...
>
> Tengo muchisimas peticiones a mi servidor dado que presto un
> servicio web, podeís orientarme de cual deberia ser mi
> postgres.conf o que deberia modificar... o que solución le
> puedo dar a este tema.
>
> Es mas, el log siempre me reporta que el número de conexiones
> se ha superado y tengo q estar haciendo un restart del
> servicio para que este funcione correctamente.
>
> Ahora mismo no se si se trata de algun tema de configuración
> o simplemente que postgres no es útil para un elevado número
> de peticiones.
>
> Salu2
>
>

Si bien puedes incrementar el máximo de conexiones lo único que lograrás es
hacer más lento tu servicio.
Lamento informarte que la solución nuevamente pasa por poner un pool de
conexiones. Vas a tener que reintentar hacer andar pgbouncer o pgpool.

Otro tema es ver luego qué están haciendo esas 100 conexiones, cuales son
las consultas más "costosas" y cómo mejorarlas.

En cuanto al hardware, para un web-server con muchas consultas read-only, la
fórmula del éxito es: muchos cores y mucha, mucha memoria.
Si el presupuesto ajusta, por lo menos accedé a un quad-core y 8 GB de RAM.
De ahí para arriba.

Saludos.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Moises Silva 2009-09-14 23:11:08 Administracion usuarios
Previous Message Gilberto Castillo Martínez 2009-09-14 16:00:58 Re: Rendimiento de postgres