El 16/07/2010 14:34, Mario Sileone escribió:
Estimada lista:
Tengo un problema que estimo es de concurrencia. Trataré de ser lo más breve posible.

Tengo un servidor Dell con 4 procesadores dualcore y 8 GB de RAM, 3 discos en RAID 1 con Postgres 8.2.7 y Apache con la página en el mismo servidor.

Tengo un split de tablas por mes, como una vez me iluminaron aqui, con aprox. 12.000.000 de registros mensuales, el movimiento diario es de 400.000 registros de crecimiento, y las tengo con contraint_exclusion en on. Asimismo tengo dos tablas que realizan updates a razón de 300 veces por minuto, y varias vistas sobre estas tablas, con triggers y SELECTS sobre tablas dentro de ellos.
las aplicaciones que hacen los updates (son 4) lo hacen asíncronamente.
El tema está en que cuando se inician las actividades de clientes entre las 09 AM y las 10 aprox. se produce el problema. el load average del servidor me ha subido hasta 20, con procesador IDLE en buen porcentaje y por supuesto, un 40% promedio en WAIT. Cuando reviso pg_lock me encuentro con que se llega hasta más de 6000 registros de bloqueo, y hasta 147 conexiones simultáneas. La consulta que se ejecuta cada 1 minuto por parte de los clientes utiliza las tablas con gran update. No tengo Swap in ni Swap out, y el porcentaje de hits en el buffer es del 85% promedio (baja un poco en la hora pico).
    No tengo Idle in transaction.

¿Puedo estar haciendo algo mal yo tanto en diseño de base de datos o es que al nivel de carga arriba mencionado estoy chico de servidor? ¿un pool de conexiones ayudaría?

Tengo información disponible de pgstat, uptime, vmstat, pg_lock, configuración, consultas, explains, etc, por si necesitan, pero no termino de llegar a una conclusión por ignorancia la verdad.

Desde ya muchas gracias por su tiempo y perdón por lo extenso del mail, traté de resumir lo más importante.

Saludos Cordiales

Mario Sileone.



-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Hola, la máquina no me parece mala.
Deberias enviar la configuración del postgresql.conf por el tema de memoria
Lo que presumo es que se deben estar actualizando muchos indices, o sea primero insertas y crea los nodos y seguramente despues los actualiza, sacrificar algun indice, o menos horrible simplificarlos (un campo -un indice)


saludos Fernando
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a