[firebase-br] Firebird Classic Processos Perdidos

Fabiano P. fabianopassianoto em gmail.com
Sex Abr 22 09:48:52 -03 2016


Vc acha então que podem ser transações não comitadas ?

No caso a estrutura do meu sistema é o tradicional delphi com controle de
componentes...
Necessito comitar as minhas transações, para que eu possa enxerga-las no
banco, isso até então tem funcionado sem nenhum problema.

Mas 95% das minhas transações, são comitadas via comando

ClientDataSet.ApplyUpdates;

Eu teria que fazer mais o que, para fechar esses processos?

Hoje vc não tem mais este problema ?




---------------------
Fabiano P.
Analista de Sistemas/Programador
Tecnologia de Informação e Vivencia - http://blogdamemoria.blogspot.com

Em 22 de abril de 2016 09:29, Frederico Godoi <frederico.godoi em gmail.com>
escreveu:

> Fabiano,
>
>    Eu já passei muito por isso. Também uso Classic para distribuir melhor
> os processos entre os núcleos dos processadores mais modernos.
>    Tem uma resposta importante para o seu problema, depois de vários FDDs
> eu fui evoluindo no meu sistema: Controle transacional.
>    Você precisa ter o domínio de que uma conexão seja aberta, comitada e
> fechada no fim.
>    Se você começar a observar aquelas estatísticas de Oldest Transaction,
> vai perceber que vai ter muitas transações "perdidas" e isso vai aumentar o
> número de conexões perdidas, o consumo de memória ram e consequentemente um
> swap em disco, isso arrebenta o servidor e a performance.
>     Comece estudando minuciosamente o controle transacional do seu sistema.
>     Se você usa Delphi, não confie que o componente vai fazer sozinho, ok?
>
> Abs
>
> Frederico Godoi
>
> Em sexta-feira, 22 de abril de 2016, Fabiano P. <
> fabianopassianoto em gmail.com>
> escreveu:
>
> > Gostaria de saber se alguém mais teve este problema, e se existe solução,
> > ou é algo já previsto pela firebase.
> > Em clientes de fluxos maiores, costumo efetuar a instalação do Firebird
> com
> > a configuração Classic, onde cada conexão, abre um processo exclusivo, no
> > Server.
> > Porém depois de um tempo de uso comecei a ter problemas de travamento no
> > Server, (uma máquina Windows Server), estranhei ao gerenciar o problema
> da
> > quantidade exagerada de processos do Firebird abertos no máquina, resolvi
> > efetuar alguns testes mais hardcore.
> >
> > Por "Teste Complet", fiz ele ficar abrindo o sistema e fechando,
> simulando
> > algumas transações, durante o dia, e descobri que o Firebird deixa
> > processos residuais no sistema, o que deveria matar quando a conexão é
> > encerrada.
> >
> > Posso no final do dia, fechar todos os clientes que usam a comunicação
> com
> > o BD, e mesmo assim os processos ficam lá, perdidos consumindo máquina.
> >
> > Óbvio, que depois de um tempo de uso menos hardcores, mesmo que em
> > meses.... o acumulo de memória, vai fazer com que o servidor "trave".
> >
> > Alguem já passou pro isso? estou com alguma configuração errada? procuro
> > informações sobre o problema....
> > ---------------------
> > Fabiano P.
> > Analista de Sistemas/Programador
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> >
>
>
> --
> Frederico Godoi
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista