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