[firebase-br] Re: 100% CPU

Pha lista em pha.com.br
Qua Out 5 11:04:52 -03 2005


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
>






Mais detalhes sobre a lista de discussão lista