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

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Qua Jun 7 20:55:26 -03 2006


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





Mais detalhes sobre a lista de discussão lista