[firebase-br] Re: 100% CPU

Suporte Orel suporte em orel.com.br
Qua Out 5 12:38:20 -03 2005


O que faz o KeepConnection  ?


----- Original Message ----- 
From: "Pha" <lista em pha.com.br>
To: "Carlos H. Cantu" <listas em warmboot.com.br>; "FireBase" 
<lista em firebase.com.br>
Sent: Wednesday, October 05, 2005 11:04 AM
Subject: Re: [firebase-br] Re: 100% CPU


>O DBX só utiliza CommitRetaining para a transação implicita (quando
> nenhuma transação foi iniciada), para as transações de updates geradas
> pelo DataSetProvider, se não houver nenhum explicitamente iniciada ele
> cria uma e finaliza com Commit ou Rollback.
>
> A transação que pode ficar em aberto são as de leitura (implicita) ou
> alguma aberta pelo próprio usuário.
>
> Para testar se o problema esta na transação implicita, é só definir a
> propriedade KeepConnection do TSQLConnect = False, isso fara com que o DBX
> feche a conexão quando ela não foi mais necessaria, fechando tambem a
> transação de leitura.
>
> PS 1: Desativando esta propriedade o sistema pode ficar lento quando se
> abre varios componentes de acesso, pela desconexão continua do banco,
> talves seja melhor ativar a propriedade antes da abertura de varios
> componentes de acesso e depois desativar novamente.
>
> PS 2: Tome cuida com a propriedade PacketRecords > 0, pois isso impede que
> o Cursor do SQLDataSet seja fechado não permitindo que a conexão e
> transação seja finaliza.
>
>
> Paulo Henrique Albanez
> VirtualSystem Informática Ltda
> Nova Odessa / SP - Brazil
> Membro do TeamFB (FireBase)
>
>> Eu não uso DBX tb, mas se eu não me engano, o padrão dele é usar
>> CommitRetaining e não Commit. Além disso, se o seu xará não faz o
>> controle explícito de transações (e pelo jeito não faz), então o DBX
>> deve estar segurando alguma transação implícita aberta.
>>
>> []s
>> Cantu (Membro do TeamFB - FireBase)
>> http://www.warmboot.com.br
>> FireBase - http://www.FireBase.com.br
>>
>> EJT> Não faço idéia de como o DBX controla as transações...
>>
>> EJT> talvez o problema seja alguma transação de leitura que está ficando
>> EJT> aberta...
>>
>> EJT> ele disse que lança 20 mil registros por dia, e olhe lá... pouco
>> menos de 21
>> EJT> mil transações...
>>
>> EJT> deve ter feito algumas leituras e deixado aberto, aí o banco começa 
>> a
>> ficar
>> EJT> lerdo mesmo...
>>
>> EJT> Também reparei que ele utiliza o Dialect 1... isto não interfere no
>> EJT> desempenho, mas interfere na "eficiência" do garbage collection e de
>> alguns
>> EJT> índices.
>>
>> EJT> Em resumo, o problema do meu chará, é o mais óbvio e comum...
>> problemas no
>> EJT> modelo transacional...
>>
>> EJT> Sucesso,
>>
>> EJT> =========================
>> EJT> Eduardo Jedliczka
>> EJT> Membro do TeamFB - FireBase
>> EJT> Apucarana - Pr
>> EJT> =========================
>>
>> EJT> ----- Original Message -----
>> EJT> From: <listas em warmboot.com.br>
>> EJT> To: <lista em firebase.com.br>
>> EJT> Sent: Tuesday, October 04, 2005 5:34 PM
>> EJT> Subject: [firebase-br] Re: 100% CPU
>>
>>
>>>> Database header page information:
>>>>        Flags                   0
>>>>        Checksum                12345
>>>>        Generation              136964
>>>>        Page size               4096
>>>>        ODS version             10.1
>>>>        Oldest transaction      52
>>>>        Oldest active           96581
>>>>        Oldest snapshot         96103
>>>>        Next transaction        136956
>>>>        Bumped transaction      1
>>>>        Sequence number         0
>>>>        Next attachment ID      0
>>>>        Implementation ID       16
>>>>        Shadow count            0
>>>>        Page buffers            4096
>>>>        Next header page        0
>>>>        Database dialect        1
>>>>        Creation date           Oct 2, 2005 12:56:05
>>>>
>>>>    Variable header data:
>>>>        Sweep interval:         0
>>>>        *END*
>>>>
>>>> Veja o numero da sua transação mais antiga e ainda ativa: 96581
>>>>
>>>> Veja o numero da sua proxima transação: 136956
>>>>
>>>> Ou seja, tem alguma transação aí segurando o garbage collection,
>>>> provavelmente ativa há várias horas.
>>>>
>>>> SO> Eu percebi uma coisa, é  quando está gravando um monte de coisas
>>>> SO> no banco, proncipalmente arquivos em  Lote.
>>>>
>>>> Isso indica que seu controle transacional não está OK.
>>>>
>>>> Além disso, inserções em massa devem ter commits em blocos de 500 ou
>>>> 1000
>>>> registros. Acredito que vc esteja commitando de um em um.
>>>>
>>>> Lembre-se tb de rodar o sweep periodicamente.
>>>>
>>>> []s
>>>>
>>>> Carlos (Membro do TeamFB - FireBase)
>>>> WarmBoot Informatica - http://www.warmboot.com.br
>>>> FireBase - http://www.FireBase.com.br
>>
>>
>>
>> ______________________________________________
>> 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
>>
>
>
>
> ______________________________________________
> 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