>
> Hola amigos,
>>
>
Hoy volvio a suceder la situacion con los locks, la situacion fue la misma
y en la misma tabla, la query es casi la misma, recivimos una alerta de New
Relic, el uso del CPU subio ~100%. Revisamos la tabla pg__stat_activity,
existian ~ 375 procesos en espera de escribir en la tabla donde estaba el
lock, encontramos el lock, lo eliminamos y el resto de los procesos
desaparecieron.

revisando los logs encontre:
LOG:  process 1234 still waiting for ShareLock on transaction zzzzzzzz
after 5000.237 ms
1234  ERROR:  canceling statement due to lock timeout ...el mismo PID
nota: lock_timeout = 10s

y por cada update que estaba esperando encontre un sharedlock, pero no
habia nada en los logs acerca de los insert que encontre en
pg_stat_activity que ivan a ejecutarse en la misma tabla donde estaban los
locks.

Calcule el thresold de la tabla y es solo un 24%.

Pos lo que les quiero preguntar:
1. hay alguna manera de prevenir que esto suceda?
2. Existe alguna herramienta para monitorear los locks de mi base de datos?

En fin, cualquier ayuda o sugerencia sera apreciada.

Saludos

Reply via email to