[firebase-br] RES: RES: Lentidão

Maciel Soncini Bueno maciel em 2msolutions.com.br
Ter Maio 27 11:18:58 -03 2008


Saudações Renan,

Como posso confirmar essa minha informação?

Eu abro as transações e quando preciso encerra-las dou o commit normalmente.

Nos casos de erro, dou rolback.

Exenplo:

  //inicio a transação
  TD.TransactionID := 1;
  Dtm.SqlCon.StartTransaction(TD);

  //se der pau dou o rollback
  try
  Dtm3.CdsXlab0005.ApplyUpdates(-1);
  except
  ShowMessage('Erro ao tentar salvar informações');
  Dtm.SQLCon.RollBack(TD);
  exit;
  end;

  //comito a transação.
  Dtm.SqlCon.Commit(TD);

Atenciosamente,

Maciel Soncini Bueno
2M SOLUTIONS
11-4438-6891 / 8555-8507
maciel em 2msolutions.com.br
www.2msolutions.com.br



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Renan Cruz de Almeida
Enviada em: segunda-feira, 26 de maio de 2008 19:55
Para: FireBase
Assunto: Re: [firebase-br] RES: Lentidão


Olá!

Olha é apenas uma observação sobre o caso, ok?

Conforme você escreveu que usa o CommitRetainnig, será que isso não 
poderia estar influenciando a lentidão?

Pelo que sei, o CommitRetainnig mantém aberto recursos da rede, deixando 
a transação em aberto, para outro commit.

Será que você não deveria usar apenas commit e assim liberar os recursos 
da rede?

A propósito, estudando sobre transações, os artigos que li sempre 
indicam que as mesmas devem ser abertas e depois que devemos efetuar o 
commit, encerrando a transação.

Renan.


Maciel Soncini Bueno escreveu:
> Saudações Eduardo,
> 
> Primeiramente gostaria de agradecer o seu retorno e dizer que em hipótese
> alguma fiquei ofendido com seu e-mail.
> 
> Sobre contratar um desenvolvedor e um DBA ficará para uma próxima, vez que
> já temos desenvolvedores/DBA´s na equipe.
> 
> O sistema em questão roda em dezenas de clientes e, somente em um está
> apresentando os problemas mencionados por isso o questionamento para a
> lista.
> 
> Como a lista é aberta para dúvidas de usuários leigos, intermediários,
> avançados e, Firebird´s Mans que deve ser o seu caso, não me hesitei em
> montar o e-mail e enviar para a lista.
> 
> Assim sendo, vou pesquisar sobre o que escreveu e depois divulgar os
> resultados obtidos para a lista.
> 
> Tomo a liberdade de perguntar / comentar suas linhas:
> 
> "- suas transações estão extremamente longas (se é que está controlando
> isto);"
> - O que posso considerar como uma transação longa?
>   Tenho transactions no sistema dentre elas, transactions que podem ficar
> abertas por 05/10/15 minutos, por se tratar de um módulo de recepção de
> pacientes (clínicas, hospitais, centros de diagnósticos);
> "- Não está commitando os SELECTs (ou trabalha com CommitRetainnig com o
> controle feito pelo DBExpress);"
> Trabalho com o CommitRetainnig com o controle feito pelo DBExpress. Você
> pode me sugerir um link ou documentação para que eu possa melhorar ou
> entender melhor sobre isso?
> "- Não configurou o horário do SWEEP do banco (deixou automático a cada
> 20 mil transações);"
> Estava automático. Já desliguei o automático e coloquei para ser executado
> diariamente as 22h00. Neste horário não tem ninguém utilizando o sistema.
> Pergunto: Faz diferença executar o sweep antes ou depois do backup? O gbak
> está com a cláusula -G.
> "- Adotou o SuperServer numa máquina dual-core;"
> Pois é... Já tinha lido sobre o assunto, mas como no servidor antigo
estava
> SuperServer, quando instalaram, fizeram igual. Já estou solicitando a
troca
> de Super Server para Classic Server.
> Haverá muita vantagem se mudar para o Firebird 2.0?
> 
> "- entre outros..."
> Fale mais sobre entre outros....
> 
> "Mas isto é um ponto interessante.... muitas pessoas tem problemas de
> performance com o FireBird... pois acham que todos os bancos de dados
> são iguais, ou pior, acham que trabalhar com DBF, paradox ou tabelas em
> memória é igual a trabalhar com bancos relacionais..."
> 
> Eduardo, eu não disse isso. Já trabalhei com DBF, Paradox, Oracle, Sql
> Server e companhia. Sou fã do Firebird e trabalho com o mesmo desde 2002.
> 
> 
> "o Firebird, quando bem utilizado, tem uma performance impressionante (em
> rede local é claro... ainda tem um protocolo muito pesado e tagarela
> para ser utilizado diretamente via internet). Só que muitos fatores
> colaboram para a frustração dos desenvolvedores/utilizadores. É um banco
> pequeno, simples, leve, gratuito e fácil de administrar, e por esta
> razão, muitos não dão a devida importância. Não faze teste de stress,
> não monitoram índices e principalmente não procuram entender as regras
> transacionais ou o sistema de Versionning e Garbage Collection."
> 
> Como nunca tive problemas, nunca me preocupei mesmo, mas acho que há tempo
> de melhorar, não é memsmo?!
> 
> Se puder me indicar link´s, livros, etc..., que me esclareçam melhor sobre
> esses assuntos, agradeço.
> 
> Até mais,
> 
> Atenciosamente,
> 
> Maciel Soncini Bueno
> 2M SOLUTIONS
> 11-4438-6891 / 8555-8507
> maciel em 2msolutions.com.br
> www.2msolutions.com.br
> 
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Eduardo Jedliczka - TeamFB
> Enviada em: segunda-feira, 26 de maio de 2008 14:30
> Para: FireBase
> Assunto: Re: [firebase-br] Lentidão
> 
> Para resolver seu problema, contrate um desenvolvedor e um DBA que saiba
> trabalhar com o FIREBIRD.
> 
> Se isto parecer muito radical, recomendo que reveja a forma como o
> aplicativo é escrito.... Posso estar enganado, mas os sintomas me levam
> ao seguinte diagnóstico:
> 
> - suas transações estão extremamente longas (se é que está controlando
> isto);
> - Não está commitando os SELECTs (ou trabalha com CommitRetainnig com o
> controle feito pelo DBExpress);
> - Não configurou o horário do SWEEP do banco (deixou automático a cada
> 20 mil transações);
> - Adotou o SuperServer numa máquina dual-core;
> - entre outros...
> 
> Mas isto é um ponto interessante.... muitas pessoas tem problemas de
> performance com o FireBird... pois acham que todos os bancos de dados
> são iguais, ou pior, acham que trabalhar com DBF, paradox ou tabelas em
> memória é igual a trabalhar com bancos relacionais...
> 
> o Firebird, quando bem utilizado, tem uma performance impressionante (em
> rede local é claro... ainda tem um protocolo muito pesado e tagarela
> para ser utilizado diretamente via internet). Só que muitos fatores
> colaboram para a frustração dos desenvolvedores/utilizadores. É um banco
> pequeno, simples, leve, gratuito e fácil de administrar, e por esta
> razão, muitos não dão a devida importância. Não faze teste de stress,
> não monitoram índices e principalmente não procuram entender as regras
> transacionais ou o sistema de Versionning e Garbage Collection.
> 
> Espero que não se sinta ofendido, e procure conhecer melhor o produto
> que pretende utilizar. Abraço!
> 
> Eduardo Jedliczka
> 
> 
> Em Seg, 2008-05-26 às 13:15 -0300, Maciel Soncini Bueno escreveu:
>> Cenário:
>>
>> - Sistema desenvolvido em Delphi 7 com DBExpress.
>> - Banco de Dados Firebird 1.5 Super Sever.
>> - Sistema Operacional Linux Debian 2.6
>> - Processador Xeon Dual Core 2.66 GHZ
>> - Memória 2 GB RAM
>> - HD 250 GB SATA
>> - Placa de Rede 1 Gigabit com servidor ligado a porta de 1 gigabit no
>> switch.
>>
>> Situação:
>>
>> - Sistema muito lento.
>> - Retorno das querys muito lento.
>> - Reinicia o servidor e melhora, mas no dia seguinte está ruim novamente.
>> - Já reconstruí o banco e não melhorou.
>>
>> O que posso fazer para melhorar?
>> Qual versão do Fireibird instalar?
>> Qual modalidade (Super Server ou Classic)?
>> Qual Page Size definir?
>> Se instalar Firebird 2.0 deve atualizar os client´s também?
>> Devo fazer alguma atualização no DBExpress se migrar para versão 2.0?
>> Deve mexer alguma coisa no setup da máquina (bios) para melhorar a
>> performance?
>>
>> Já vi vários tópicos na lista sobre este assunto, mas se puderem me
ajudar
>> agradeço.
>>
>> Atenciosamente,
>>
>> Maciel Soncini Bueno
>> 2M SOLUTIONS
>> 11-4438-6891 / 8555-8507
>> maciel em 2msolutions.com.br
>> www.2msolutions.com.br
>>
>>
>>
>> ______________________________________________
>> 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