Re: [firebase-br] Testes fb por conta própria e algumas conclusoes (troca de experiencias)

Kléber Caneva kdcc em terra.com.br
Qui Jun 8 12:13:10 -03 2006


O resultado pode também estar sendo  influenciado pelos componentes de 
acesso...

Para eliminar essa possibilidad, crie um SP no FB e uma Função no PG que 
execute esses inserts..


Outra coisa: Faça um teste, após incluir todos os registros delete-os e 
execute denovo o programa.. acompanhe o tamanho da base,  antes dessa 
segunda execução e após ela.. e veja como fica a performace nessa segudna 
execução.

Explicação: O FB reaproveita espaços de regitros deletados para adicionar 
outros, o PG sempre inclui no final do arquivo. No PG você precisar de 
tempos executar um comando de optimização para liberar espaços.. (Não me 
lembro o nome agora)

[]´s

Kléber Caneva


----- Original Message ----- 
From: "Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, June 07, 2006 8:55 PM
Subject: Re: [firebase-br] Testes fb por conta própria e algumas conclusoes 
(troca de experiencias)


Sem querer menosprezar seus testes, esse tipo de teste a meu ver é
praticamente inútil, pois não representa o uso do banco em
circunstâncias da "vida real". Na prática, ninguém iria criar um banco
e inserir 4GB de informação nele, de uma única vez.

Para medir a performance real de um banco de dados, o método
atualmente mais eficaz é usar os testes do TPC. As duas últimas
edições da revista IBDeveloper (www.ibdeveloper.com) trazem os
resultados desses testes, comparando InterBase, Firebird e Yaffil.
Sugiro que vc de uma olhada...

Sobre o banco ficar lento ou corromper, não dá pra falar nada sem ter
mais detalhes. Se o sistema de arquivos usado for Fat32, então o
limite máximo de um arquivo é de 4GB, e sabe Deus o que vai acontecer
quando esse limite for atingido (provavelmente vai corromper).

O FB permite que vc quebre um banco de dados em "n" arquivos de "X
páginas" cada um, mas com os sistemas de arquivos mais atuais, e as
novas versões do FB, não é necessário fazer essa divisão.

Outra coisa que deve-se ficar atento é para o número de transações
geradas. Há um limite (que eu não lembro de cabeça,mas é bem alto) que
se for atingido, pode gerar problemas. Um backup/restore zera o
contador de transações.

Se quiser, me envie o resultado de um gstat -h -r, tirado no momento
em que o banco começou a ficar lento. Pode ser que eu consiga te dar
mais informações olhando essas estatísticas.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

GO> Fantástica!!
GO>   Sua idéia é fantástica. Eu estava com intenção de fazer o mesmo
GO> assim  que me desafogasse um pouco. Este tipo de teste é muito
GO> interessante  para todos nós. Gostaria de sugerir e até pedir que
GO> divulgasse os  resultados dos seus testes. Talvez seja
GO> interessante publicar em algum  site os resultados e as
GO> informações mais detalhadas. Se não for muito  trabalhoso pra você
GO> fazer isso, acho que ajudaria muitos companheiros.
GO>
GO>   Abraço

GO> "Fabiano  A.  C." <willgauge em yahoo.com.br> escreveu:
GO>     Pessoal , fiz uma aplicaçãozinha de teste, pra saber os limites do 
fb,
GO> mas depois que a minha base chega a +- 4gb , o fb fica muito lento,
GO> desconfio que pode ser algo relacionado com as paginas do fb, alguem tem 
uma
GO> sugestão?
GO>     Mas acessa normalmente outros banco de dados, travando (fica lento 
ou
GO> corrompe) somente esse de 4 gb...

GO>     E fiz o mesmo teste com o Postgree 8.13, mesma estrutura da tabela,
GO> pude notar que consultas/Inserçôes quando a base do PG tinha + - 
1.000.000
GO> de registros são ligeiramente + lentas que o Fb, mas quando a base chega 
a
GO> + - 60.000.000 de registros as coisas se invertem, e olhando a estrutura 
do
GO> banco (arquivos) do PG pude notar algo interessante: ele "quebra" a 
base,
GO> enquanto o FB fica com 2gb , o PG quebra em 2 arquivos de 1gb e o 
restante
GO> em pequenos arquivos. Esse pode ser um motivo que o fb fica mais lento 
com
GO> bases muito grandes.

GO>     Gostaria de saber se há alguma maneira de criar um banco FB que 
quebre
GO> automaticamnete a cada 1 gb de dados e qual a opinião de vcs?

GO>    OBS:Esse programinha fica inserindo dados sem parar, realizando 
commit a
GO> cada 500 inserts , fica inserindo somente nome, valor e data.

GO> Dados:
GO> -------

GO> Versão do Firebird: 1.53
GO> Banco: Carga.fdb
GO> Versão Delphi: 7 +  IBX
GO> AMD64 2800, 1gb ram Hd 80gb, winxp pro, base de dados em HD independente 
de
GO> 80gb
GO> Tabela: carga

GO> Script do Banco de dados:
GO> ----------------------------

GO> SET SQL DIALECT 3;
GO> SET NAMES WIN1252;
GO> CREATE DATABASE '127.0.0.1:D:\CARGA.FDB'
GO> USER 'SYSDBA' PASSWORD 'masterkey'
GO> PAGE_SIZE 4096
GO> DEFAULT CHARACTER SET WIN1252;
GO> 
/******************************************************************************/

GO> /****                               Domains
GO> ****/

GO> 
/******************************************************************************/
GO> CREATE DOMAIN DATA AS
GO> DATE;
GO> CREATE DOMAIN ID AS
GO> INTEGER;
GO> CREATE DOMAIN NOME AS
GO> CHAR(50)
GO> COLLATE PXW_INTL850;
GO> CREATE DOMAIN SENHA AS
GO> CHAR(50)
GO> COLLATE PXW_INTL850;
GO> CREATE DOMAIN VALOR_MONETARIO AS
GO> NUMERIC(15,2)
GO> DEFAULT 0;

GO> 
/******************************************************************************/
GO> /****                              Generators
GO> ****/
GO> 
/******************************************************************************/
GO> CREATE GENERATOR GEN_CARGA_ID;
GO> SET GENERATOR GEN_CARGA_ID TO 42623899;

GO> 
/******************************************************************************/
GO> /****                                Tables
GO> ****/
GO> 
/******************************************************************************/
GO> CREATE TABLE CARGA (
GO>     ID          ID NOT NULL,
GO>     NOME        NOME,
GO>     DINHEIRO    VALOR_MONETARIO,
GO>     DATA_ATUAL  DATA
GO> );
GO> 
/******************************************************************************/
GO> /****                               Triggers
GO> ****/
GO> 
/******************************************************************************/
GO> SET TERM ^ ;

GO> /* Trigger: CARGA_BI */

GO> CREATE TRIGGER CARGA_BI FOR CARGA
GO> ACTIVE BEFORE INSERT POSITION 0
GO> AS
GO> BEGIN
GO>   IF (NEW.ID IS NULL) THEN
GO>     NEW.ID = GEN_ID(GEN_CARGA_ID,1);
GO> END
GO> ^

GO> SET TERM ; ^



GO> -------------------------------
GO> Até logo e boas festas na copa!







GO>
GO> _______________________________________________________
GO> Navegue com o Yahoo! Acesso Grátis, assista aos jogos do Brasil
GO> na Copa e ganhe prêmios de hora em hora!
GO> http://br.yahoo.com/artilheirodacopa/


GO> ______________________________________________
GO> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
GO> Para editar sua configuração na lista, use o endereço
GO> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
GO> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


GO>  __________________________________________________
GO> Fale com seus amigos  de graça com o novo Yahoo! Messenger
GO> http://br.messenger.yahoo.com/
GO>  __________________________________________________
GO> Fale com seus amigos  de graça com o novo Yahoo! Messenger
GO> http://br.messenger.yahoo.com/
GO> ______________________________________________
GO> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
GO> Para editar sua configuração na lista, use o endereço
GO> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
GO> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1149725185.730196.4704.almora.hst.terra.com.br,9966,Des15,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 07/06/2006 / Versão: 
4.4.00/4779
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista