[firebase-br] RES: Consumo de memória muito Alto (Não libera)

Frederico Godoi frederico.godoi em gmail.com
Qui Dez 5 17:12:56 -03 2013


Como você fez pra liberar as Queries?




2013/12/5 Wesley Oliveira <wesley em rgsystem.com.br>

> Obrigado pessoal!
>
> Analisamos nossa rotina direitinho e vimos que não era ela o problema. O
> problema eram as consultas antigas do sistema que utilizavam um método
> errado. Não abria transação e não liberava as queries criadas. Isso fazia
> tanto a memória do Firebird bater picos de 200MB pra gerar uma turma e não
> liberar memória, quanto a memória utilizada pelo sistema subir e não
> liberar
> também, ficando acima de 50MB pra uma turma.
>
> Após os ajustes, a memória do FB para em 11,9MB.. De vez em quando sobe pra
> 25MB mas logo volta pra 11... e a memória utilizada pelo sistema também
> ficou bem abaixo do que estava antes!
>
> Obrigado pelas dicas!
> Att.
>
> Wesley Oliveira
> Programador de Sistemas de Informação
> RG System Informática
> Fone:     +55 (27) 3727-1127
> Celular:  +55 (27) 99606-0038
>
> -----Mensagem original-----
> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de W O
> Enviada em: quarta-feira, 4 de dezembro de 2013 23:33
> Para: FireBase
> Assunto: Re: [firebase-br] Consumo de memória muito Alto (Não libera)
>
> ¿Todos tus SELECTs finalizan con un COMMIT?
>
> Si no es así, podrías continuar teniendo transacciones abiertas las cuales
> por supuesto consumen memoria.
>
> Saludos.
>
> Walter.
>
>
>
>
> 2013/12/4 Wesley Oliveira <wesley em rgsystem.com.br>
>
> > Olá pessoal!
> >
> >
> >
> > Correndo o risco de parecer bobo, mas uma questão está me perturbando
> > essa
> > semana:
> >
> >
> >
> > Nosso sistema é baseado num Servidor DataSnap com Firebird 2.5
> SuperServer.
> >
> > Ao gerar os boletins dos alunos de uma turma, por exemplo, o sistema
> > dispara várias funções entre servidor/banco de dados. Algumas stored
> > procedures são executadas, tabelas temporárias são alimentadas e
> > consultadas pra depois serem esvaziadas e por aí vai. Tudo comandado
> > pelo servidor da aplicação.
> >
> >
> >
> > Ao iniciar o processo, o FB está consumindo 22MB de memória e, para
> > uma turma de 30 alunos por exemplo, ao final da execução, o consumo
> > está beirando os 250MB!
> >
> > Sim, são rotinas pesadas, vários registros pra cada aluno em diversas
> > tabelas, SUMS, COUNTS, tem de tudo nessa rotina...
> >
> >
> >
> > Aí eu penso: Quando acabar, toda essa memória será liberada, certo?
> > Errado... só libera quando encerra o servidor do sistema.... E nesse
> > fim de ano, alguns clientes estão gerando os boletins de TODAS as
> > turmas várias vezes por dia... Imagina o tanto que isso tá consumindo
> > dos pobres servidores, certo?
> >
> >
> >
> > Então eu pergunto: Por que isso acontece?
> >
> >
> >
> > Eu utilizo para as consultas ao BD o TDBXCommand com TDBXReader do
> > Delphi e, sempre que um command ou um reader é criado, é destruído ao
> > final da “participação” dele na rotina. Já dei Free, FreeAndNil e nada
> > libera a memória...
> >
> >
> >
> > Alguma boa alma poderia me dar alguma dica?
> >
> > Wesley Oliveira
> > Programador de Sistemas de Informação
> >
> > RG System Informática
> > Fone:     +55 (27) 3727-1127
> > Celular:  +55 (27) 99606-0038
> >
> >
> >
> > ______________________________________________
> > 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://firebase.com.br/pesquisa
> >
> ______________________________________________
> 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://firebase.com.br/pesquisa
>
>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



-- 
Frederico Godoi



Mais detalhes sobre a lista de discussão lista