[firebase-br] Tabela de Alta Concorrência
Gladiston Santana
gladiston em vidy.com.br
Qua Jul 8 08:52:22 -03 2015
Primeiramente, tenha certeza de ser locks, isto é, trata-se realmente de
dead locks e não de "travamentos" porque o sistema aguarda a conclusão de
algum assunto.
Constatado que trata-se de locks, use as tabela de monitoramento
(mon$transactions) para observar as transações que a causam.
http://www.firebirdsql.org/file/community/conference-2014/pcisar/#1
Devem existir apps para observar isso também e podem facilitar, no linux
havia o fb_stat, no windows não sei mas deve existir um fbmon em algum
lugar.
Falhas em sistemas (ou imprevistos) podem deixar as transações pendentes e
por isso ocorrem os locks no servidor, daí eles morrem apenas por timeout e
nesse ínterim atrapalham os usuários.
Quando eu digo imprevistos, é porque houve um caso, onde o programador não
criou uma rotina de sair do programa e fechar os datasets/transacoes quando
o usuário fechasse o formulario principal com ALT+F4, apenas com a opção
Sair do menu principal, daí o problema só aparecia nas ocorrências de
ALT+F4 e às vezes, então era dificil diagnosticar porque o bug para ser
detectado tinha que observar o comportamento do usuário junto com os logs.
[]´s e boa sorte com o problema.
Mais detalhes sobre a lista de discussão lista