Boa tarde pessoal.

Hoje pela primeira vez me deparei com problemas de deadlock no meu servidor.

A princípio nada mudou na aplicação e temos tido o mesmo volume de
demanda então fiquei realmente surpreso.

Recebo mensagem como esta abaixo no log ao mesmo tempo que o load do
servidor salta de 0.90 para 4.xx e daí pra frente só piora:

Jun 30 11:04:10 utiuxsrv1 postgres[817]: [5656-1] ERROR:  deadlock detected
Jun 30 11:04:10 utiuxsrv1 postgres[817]: [5656-2] DETAIL:  Process 817
waits for ShareLock on transaction 733695014; blocked by process 794.
Jun 30 11:04:10 utiuxsrv1 postgres[817]: [5656-3]       Process 794
waits for ShareLock on transaction 733695097; blocked by process 817.

Recorrendo à documentação vi que a checagem por deadlock pode degradar
um pouco a performance. Resolvi alterar de 1.000 para 10.000 o
deadlock_timeout para não ter checagens "desnecessárias" por
deadlocks, mas também tenho receio de tornar ela insensível quando for
realmente necessária.

Ao mesmo tempo também otimizei meus logs, jogando a partir de agora
para outro disco na máquina e trazendo algum detalhamento a mais pois
acredito que algo na minha aplicação esteja causando isso, não sei ao
certo, mas por exemplo chamando indevidamente uma trigger ou algo do
gênero.

O servidor é um quad core rodando FreeBSD 7.1 e estou rodando o
PostgreSQL 8.1.15 compilado através do ports.

Gostaria de saber se vocês tem alguma outra recomendação, pois mesmo
assim ainda continuo com problemas, quando começo a passar de 5
clientes conectados começam a surgir os deadlocks, sendo que até ontem
(com deadlock_timeout =1000 inclusive) esse servidor segurava 20 e
poucos clientes.

Com tudo isso o que está me sobrando mesmo é ficar observando logs e o
load do sistema.

Um abraço e obrigado.

-- 
Fernando França
linux user #263682

gtalk: ffranca at bsd com br
skype: fernando_desconstruindo

http://desconstruindo.eng.br
http://www.cbpf.br/~lsd
http://www.rnp.br/keyserver/pks/lookup?search=0xB5E21164

Por favor considere o meio ambiente antes de imprimir esta mensagem.
S'il vous plaît à l'environnement avant d'imprimer ce message.
Please consider the environment before printing this message.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a