Fórum Aumentar o desempenho do Interbase... #39116
02/10/2003
0
antes de mais nada gostaria de dizer que fiz uma pesquisa no fórum e não encontrei nada que me satisfazesse.
É o seguinte:
Minhas aplicações cliente/servidor estão muito lentas. Tanto para iniciar a aplicação, quanto para fazer consultas.
Andei verificando minha rede e tudo está normalizado. Tenho certeza que o problema está no interbase.
Mudei o Interbase para Síncrono, pois pensei que assim traria uma performance maior, mas nada resolveu.
Fiz um Backup>Restore mas acho que configurei errado, pois continua a mesma coisa. Já pensando nisso, estrtuturei meu banco da melhor maneira possível, buscando ajuda em revistas e artigos. Fiz testes com o PLAN e percebi que o redimento caiu cerca de 15¬.
Existe algum utilitário para resolver meu problema... ou senão, como devo configura-lo direito. Será que existe algum macete ou coisa parecida? Quem puder me ajudar ficarei muito grato.
Muito obrigado.
Anarchybra
Curtir tópico
+ 0Posts
02/10/2003
Afarias
|não encontrei nada que me satisfazesse.
huummm... me lembro de ja ter visto e postado aqui e no fórum Delphi *diversas* mensagens sobre o assunto!
|Andei verificando minha rede e tudo está normalizado. Tenho certeza
|que o problema está no interbase.
Tem certeza mesmo?? O problema não está na SUA aplicação??
|Mudei o Interbase para Síncrono, pois pensei que assim traria uma
|performance maior, mas nada resolveu.
Pelo contrário, no modo de escrita síncrona (forced writes) há queda de performance.
|Fiz um Backup>Restore mas acho que configurei errado, pois continua a
|mesma coisa.
Isto ajuda depois de muito tempo de uso da base de dados -- mas não é solução para problemas ´crônicos´ de performance
|Existe algum utilitário para resolver meu problema... ou senão, como
|devo configura-lo direito.
se seu problema está nas Querys (SELECTS) q vc precisa -- use o IBPlanalyser (ou outra ferramenta do tipo) para poder otimizar suas consultas.
|Será que existe algum macete ou coisa parecida? Quem puder me
|ajudar ficarei muito grato.
Existem ´macetes´ para lidar com o Interbase -- e existem técnicas ´apropriedas´ para construção de aplicações Cliente/Servidor.
alguns dos ´macetes´ vc pode ver nos artigos (já traduzidos)::
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=126
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=242
se vc vem de programação com bancos baseados em arquivos (como xBase ou Paradox) então veja também::
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=128
T+
Gostei + 0
02/10/2003
Anarchybra
Gostei + 0
02/10/2003
Anarchybra
li os artigos que me indicou... digamos que meu banco está 80¬ de acordo com o descrito no artigo. Agora estou com uma dúvida.
Meu servidor é Windows 2000 e as estações são 2000 e 98. O máximo que eu tenho são três usuários usando um determinado sistema por vez. Meu banco é consideravelmente pequeno (não mais que 30 tabelas). O tamanho do BD é de aproximadamente 200 MB. O tamanho das páginas são 4096 e cache 10.000. Seria melhor eu deixá-lo em Forced Write Off.
Obs.: Faço 4 backups diários.
Gostei + 0
02/10/2003
Afarias
|acordo com o descrito no artigo. Agora estou com uma dúvida.
Legal!! :D
|Meu servidor é Windows 2000 e as estações são 2000 e 98. {...}
bom... usar Forced Writes serve apenas para prevenir corrupção no banco de dados. Se seu servidor tiver um no-break então não há necessidade de usar -- se não, ai vc tem q avaliar o risco de quedas de energia, travamentos do servidor e bakups q vc mantém (4 backups diários para mim é suficiente para não usar Forced Writes)
A performance com Forced Writes OFF é consideravelmente melhor!
Como não tenho detalhes da sua aplicação, não dá pra falar muito. Vc disse que está segindo bem as dicas dos artigos o q siginifica q o problema pode realmente não residir na sua aplicação (mas é bom ver os outros 20¬ :wink: )
-- entretanto, um banco de dados com 30 tabelas e por volta de 200MB é realmente pequeno -- costumo trabalhar com o mesmo tamanho de página (4096) e, para bancos assim, com um cache (page buffers) pequeno (o padrão do IB) -- o que não tem me dado nunhum problema de performance!
Veja exatamente onde estão os pontos de baixa performance. Se uma consulta está lenta, analise-a com uma ferramenta como o IBPlanalyser e tente otimizá-la.
Veja se seu servidor (Windows2000) está bem para sua aplicação -- outros serviços de rede como Arquivos e Impressão custam caro a rede e ao servidor de banco de dados se estiverem no mesmo servidor!! -- para algo pequeno como o seu isso não deveria fazer tanta diferença, mas vale se visto.
Procure fazer um estudo minucioso e chegar fundo nos pontos realmente problemáticos... assim, será mais fácil tentar resolver -- e, em não resolvendo, vc terá mais informação para postar aqui e os usuários do fórum poderão ajudar melhor!
boa sorte!
T+
Gostei + 0
03/10/2003
Alexandre7
Encontrei hoje uma apostila interessante que possui um tópico sobre Construção de Comandos SQL com Boa Performance no endereço:
http://www.active.br2.net/arquivos/apostilas/bd/Apostila_BD_e_SQL.zip
Talvez possa esclarecer algo, pelo menos para mim que ainda sou um pouco novato em SQL acho que vai auxiliar um pouco.
Também irei ler os artigos sugeridos pelo Farias.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)