[firebase-br] IB 6 super server não usa memória eficientemente?

Paulo paulo em manfra.com.br
Ter Ago 19 09:13:10 -03 2008


Obrigado pelas dicas, Valdir.

Só uma dúvida: como você faz a importação dos dados para esta no base 
com a estrutura de certa forma diferente?

Valdir Marcos escreveu em 18/08/2008 19:30:
> Paulo, apenas uma sugestão...
>
> Quando eu pego esse tipo de situação, eu extraio o metadado do banco
> velho inteiro e reconstruo na nova versão do Firebird mudando pequenos
> detalhes, como chaves primárias e estrangeiras, índices e charsets.
> Todos esses elementos são transparentes para a aplicação, todavia já
> de início dão aquela lentanda na performance da aplicação abrindo
> espaço e credibilidade para fazermos o trabalho pesado de construirmos
> um banco de dados decente.
>
> Um abraço,
>
> Valdir
>
>
> Em 18/08/08, Paulo<paulo em manfra.com.br> escreveu:
>   
>> Boa tarde, Valdir.
>>
>>  É o que eu pretendo fazer! Mas é um sistema legado e de uma codificação
>>  horrível! Coisas que só o RAD faz pra você! Um dia chego até a versão
>>  mais atual do Firebird (ou quem sabe mudo de SGBD :), mas tenho que ir
>>  com calma!
>>
>>
>>  Valdir Marcos escreveu em 18/08/2008 14:54:
>>
>>     
>>> Paulo, porque você não migra seus dados para o Firebird 2.1.1? Você
>>>       
>>  > verá uma diferença absurda de performance em relação Interbase 6, sem
>>  > falar na enormidade de melhorias e recursos que foram acrescentados de
>>  > lá para cá.
>>  >
>>  > Um abraço,
>>  >
>>  > Valdir
>>  >
>>  >
>>  > Em 18/08/08, Valdir Marcos<valdir.marcos em ig.com.br> escreveu:
>>  >
>>  >> Boa tarde.
>>  >>
>>  >> No Firebird 2.1, você poderia derrubar os comandos de uma conexão, mas
>>  >> não a conexão em si (o que será possível no FB 2.5). Todavia, se você
>>  >> derrubar todos os comandos de uma conexão, essa conexão pára de lhe
>>  >> dar trabalho... he he he
>>  >>
>>  >> -- Descubra qual conexão lhe interessa:
>>  >> Select * From Mon$Attachments;
>>  >>
>>  >> -- Apaga todos os comandos dessa conexão:
>>  >> Delete From MON$STATEMENTS
>>  >> Where Mon$Attachment_ID = 9999;
>>  >> Commit;
>>  >>
>>  >> -- Verifica se sobrou algum comando dessa conexão:
>>  >> Select * From MON$STATEMENTS;
>>  >>
>>  >> -- Após você apagar o comando, o usuário dessa conexão receberá uma
>>  >> mensagem de erro instantaneamente... he he he
>>  >>
>>  >> Um abraço,
>>  >>
>>  >> Valdir
>>  >>
>>  >>
>>  >> Em 18/08/08, Douglas Tosi<douglasht em gmail.com> escreveu:
>>  >>
>>  >>> 2008/8/18 Paulo <paulo em manfra.com.br>:
>>  >>>
>>  >>>> Douglas Tosi escreveu em 18/08/2008 11:40:
>>  >>>> O parâmetro DATABASE_CACHE_PAGES está em 3500. Já experimentei aumentar
>>  >>>> este valor, mas houve um pequeno aumento no uso da memória apenas.
>>  >>>> Os problemas que eu tenho são quando alguma conexão faz um uso mais
>>  >>>> agressivo do banco. Todos os outros clientes sofrem com isso.
>>  >>>>
>>  >>> Não acredito que aumentar o cache vai te ajudar nisso. 300MB é um banco pequeno.
>>  >>> Você poderia colocar ele inteiro no cache e ainda assim teria
>>  >>> problemas de performance.
>>  >>> Aumentar a memória só te ajudaria se você tiver problemas de excesso
>>  >>> de I/O de leitura.
>>  >>> E ainda assim, cuidado: O IB6 não é muito esperto gerenciando caches
>>  >>> muito grandes.
>>  >>>
>>  >>>
>>  >>>> Aliás, este é um outro problema que venho enfrentando: não consigo cancelar o
>>  >>>> processamento de algumas queries, nem matar conexões! Às vezes preciso
>>  >>>> rodar alguma query mais pesada no servidor de produção (mesmo não sendo
>>  >>>> o banco de dados de produção) e, se ela demorar demais, todos os outros
>>  >>>> clientes ficam intrabalháveis neste período. Há alguma maneira de matar
>>  >>>> um cliente no super server?
>>  >>>>
>>  >>> Não. Só a partir do 2.5.
>>  >>> No 2.1 tem como cancelar uma query.
>>  >>> Mas matar uma conexão nas versões anteriores ao 2.0, só no Classic.
>>  >>> E só existe classic para windows a partir do firebird 1.5, eu acho.
>>  >>> (Confirme isso)
>>  >>>
>>  >>>
>>  >>>> Unindo o pouco uso da memória e o problema com o excesso de
>>  >>>> processamento de alguns clientes, pensei em utilizar o classic server,
>>  >>>> porque poderia matar a conexão mal-criada facilmente.
>>  >>>>
>>  >>> As versões mais novas do Firebird se comportam um pouco melhor na
>>  >>> distribuição de carga entre os clientes. Um cliente mal-criado não vai
>>  >>> causar tanto impacto nos outros.
>>  >>>
>>  >>> --
>>  >>> Douglas Tosi
>>  >>> www.sinatica.com
>>  >>>
>>  >>> ______________________________________________
>>  >>> 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
>>
>>     
>
> ______________________________________________
> 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
>   





Mais detalhes sobre a lista de discussão lista