[firebase-br] Transacoes no DBExpress (Conclusao)

Pha-Lista lista em pha.com.br
Sex Maio 20 13:29:47 -03 2005


Marlon, 

Para os ApplyUpdates voce inicia uma transacao explicita? 

Se sim, voce poderia criar uma transacao global para as leituras e de tempos em tempos Commitar e abri-la novamente para verificar se melhora.

Fechando todos os aplicativos volta ao normal?

Use o GStat -h para verificar a diferenca entre a transacao antiga e a proxima. 

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: marlon david de souza marlon em sysmo.com.br
Date: Fri, 20 May 2005 13:48:25 -0300
To: FireBase lista em firebase.com.br
Subject: Re: [firebase-br] Transacoes no DBExpress (Conclusao)

> Boa tarde a todos,
> 
>   Também usamos o DBX em estações Windows e Linux e está acontecend> o o 
> seguinte em clientes que possuem o FB1.5.2 rodando no Linux: a medida que o> s 
> usuários vão usando o sistema (cerca de 30 simultâneos) o sistema vai>  ficando 
> lento. Somente volta a ficar rápido quando o BD é re-inicializado. 
>   Já verifiquei todas as transações explícitas (StartTransaction) e>  estão 
> todas corretas (inclusive lenvando-se em conta eventuais excessões).
> 
>   Esse problema pode ter as seguintes causas:
> 
>   - O fato de o DBX não "commitar" após realizar consultas. O "commit" > somente 
> acontece quando é feita alguma atualização de dados (delete, insert e> /ou 
> update).
> 
>   - DBX for Windows (Delphi6) com problema.
> 
>   - DBX for Linux (Kylix3) com problema.
> 
>   - Consultas não liberadas automaticamente ao destruir os 
> formularios/data-module que criaram os objetos usados para consulta 
> (TSQLDataset). Se estas não forem liberadas, elas continuam consumindo 
> memória no servidor.
> 
>   - Vazamento de memória no FB (isso é uma possiblidade pois no release> -notes 
> do FB2.0 indica que isso acontece no FB1.5)
> 
> 
>   Por enquanto ainda não achei nenuma solução. Como o hardware desses>  clientes 
> são bem potentes, esse problema está sendo, por hora, contornado. Esper> o que 
> novas versões do FB/DBX corrijam isso.
> 
> 
> Sem mais,
> 
> ----------------------
> Marlon David de Souza
> Desenvolvimento
> Sysmo Informática Ltda
> 
> 
> > Em Qui 19 Mai 2005 17:23, Pha-Lista escreveu:
> > > Olá PHA!
> > >
> > > Cara, deixa eu ver se entendi:
> > >
> > > Quando agente faz alguma operação (select, insert, update, delete) > no DBX
> > > sem iniciar uma transação, ele cria uma automaticamente e mantém > ela, a
> > > transacao, como XXXRetaining?
> >
> > Sim, no IB/FB voce precisa de uma transacao aberta por isso ele faz isso,
> > mais isso nao e um problema do DBExpress, muitos outro componentes tem es> te
> > problema o IBX e um deles, o unico componente que conheco que controla e
> > fecha as transacoes corretamentes e o IBO, a unica diferenca do DBExpress
> > para o IBX e que nele voce tem um componete de transacao lidado ao
> > IBDataSet, se construir um componente de transacao para o DBExpress ele
> > fica igual.
> >
> > > No caso do uso do DBXPress com ClienteDataSet eu também encontro este
> > > tipo de erro (no ApplyUpdates) ou o DataSetProvider controla direitinho
> > > as transações?
> >
> > No ApplyUpdates funciona direitinho ele abre e fecha a transacao, o unico
> > problema e que quando voce abriu o ClientDataSet o DBExpress inicou uma
> > transacao e esta vai ficar aberta (pelo menos nos meus teste foi assim)
> >
> > > Se o Commit só é dado quando fazemos um controle manual das transa> ções,
> > > posso considerar, então, manter a propriedade KeepConnection do
> > > SQLConnection setada como false?
> >
> > E uma opcao, so tem uma desvantagem, quando uma conexao e fechada todos as
> > Querys preparadas sao liberadas, mais acho que funcionaria bem.
> >
> > A questao e a seguinte, esta transacao que o DBExpress inicia para fazer > as
> > leituras, atrapalha a peformance do FB em Quanto?  Como nao tenho um
> > aplicativo em producao usando o DbExpress com FB nao posso dizer.
> >
> > No IBX o problema e maior pois ele utiliza a mesma transacao para os
> > updates e quando fechamos a mesma ele tambem fecha as tabelas, claro que
> > ele pode funcionar igual ao DBExpress usando o TClientDataSet, eu acho que
> > o mesmo se aplica ao MDO apesar de nao conhece-lo.
> >
> > PHA
> > Nova Odessa / SP - Brazil
> > -----Mensagem original-----
> > From: "Francisco Thiago" jeandeadlucky em yahoo.com.br
> > Date: Thu, 19 May 2005 14:22:39 -0300
> > To: "FireBase" lista em firebase.com.br
> > Subject: Re: [firebase-br] Transacoes no DBExpress (Conclusao)
> >
> > > Obrigado
> > >
> > > Francisco Thiago de Almeida
> > > Enter&Plug Informática
> > > Divisão: Desenvolvimento e Banco de dados
> > > MSN: thiago em enterplug.com.br
> > > Skype: enterplug_thiago
> 
> -- 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista