Sergio Gabriel Rodriguez escribió:
2009/11/25 Manuel Pernalete <mpernaletetor...@gmail.com
<mailto:mpernaletetor...@gmail.com>>
Hola a todos!
Mi duda es que tengo una function en postgres que hace muchas
cosas las cuales no explico para no entrar en detalle
pero el volumen de informacion que se maneja es bastante alto
tanto asi que la tabla que tiene menos registros es de mas de 2
millones, entonces cuando ejecuto la funcion en postgres esta duro
ejecutandose 7 dias corridos....
Entonces quiero saber si hay alguna forma de configurar el
postgres para asignarle mas CPU y mas memoria y mas cache de tal
manera que esa funcion se ejecute en su totalidad al menor tiempo
posible
Muchas Gracias
Manuel Pernalete
Barquisimeto - Venezuela
Hola manuel, 7 días corridos me parece algo extremadamente exagerado..
podrías indicarnos lo sgte:
- Sobre que Hardware corre tu sistema
- Sistema operativo
- Versión de Postgres
- parámetros de tu postgresql.conf: shared buffers, cache, work mem
- Corres tareas de mantenimiento sobre tu base? vacuum analyze?
- a grandes rasgos qué hace tu función? podrias copiarla?
Saludos
Sergio Gabriel Rodríguez
http://www.3trex.com.ar
Corrientes - Argentina
Tambien me parece un poco exagerado el tiempo de la consulta, ha visto
reportes de más de 20 millones de registros que se demoran de 25 a 30
mins como máximo. Esto era en 8.3, pero cuando se migró uno de los
servers a 8.4, la respuesta bajo considerablemente y ahora lo hace en
8,6 mins, lo cual es casi un 30% por debajo de lo antes se demoraba.
Pudieras poner la siguiente informacion a parte de la que te pidio Sergio.
SELECT locktype, database, relation, vistualxid, transactionid,pid,mod,
granted from pg_locks;
Para ver los locks que estna presentes en tu sistema.
2- Luego ejecuta: SELECT * FROM pg_stat_actitivy WHERE procpid =
num_id_transaccion que esta bloqueando el sistema en caso de que tengas
alguna.
Gracias a Álvaro y a Jaime por la aclaración, ésta es una de las
herramientas por donde ver cuáles son las transacciones que se están
comiendo lentamente el sistema.
Saludos
--
-------------------------------------
"TIP 4: No hagas 'kill -9' a postmaster"
Ing. Marcos Luís Ortíz Valmaseda
PostgreSQL System DBA
Centro de Tecnologías de Almacenamiento y Anális de Datos (CENTALAD)
Universidad de las Ciencias Informáticas
Linux User # 418229
http://www.postgresql-es.org
http://www.postgresql.org
http://www.planetpostgresql.org
--
TIP 7: no olvides aumentar la configuración del "free space map"