Saludos a todos

Creo que necesito un poco de su ayuda :D

En una aplicación OB, estoy pasando registros de una remisión generando dos
facturas, hay aproximadamente 25 usuarios concurrentes como maximo utilizo
postgres 8.4.4, micro 8 cores, 8 G de ram en un servidor dedicado.


Basicamente tengo una cuenta que varia de 1 registro a 500 y las divide en
factura para el cliente y aseguradora, cuando son de 1 a 30 registros no hay
problema incluso si una cuenta tiene 500 registros solo tarda de 60 a 120s,
el problema es cuando varias cuentas 2-5 de +50 registros mi proceso se
tarda hasta 10 minutos o mas.

La db se le ejecuta vacum full y mejora pero no significativo, el proceso lo
hace un procedure que a su vez manda llamar a dos mas para cada factura,
utilizo insert select en vez de barrer un cursor, he buscado varias
alternativas pero solo seme ocurre el lock, cada función es de inserción por
lo que no debe de hacer un lock no hay posibilidades de duplicar registros

Cuando esta ejecutanto el proceso me aumenta los locks de 21 a 200 y son de
tipo RowShareLock AccessShareLock ExclusiveLock en distintas tablas.

Como podría desactivar que haga el lock o en filar mis procedimientos para
evitar esta saturación ?

Gracias saludos a todos


-- 
Luis Gerado Muro Ramos
Director de Proyectos
Tel:     +52 (55) 47 77 3120
           +52 (33) 47 77 0110
           +52 (81) 12 47 6120
          01 800  087 2260
 Cel: +52 (55) 19507875
luis.m...@xmarts.com.mx
twitter  viernesmx

Responder a