[firebase-br] Lentidão para abrir DB

W O sistemas2000profesional em gmail.com
Ter Ago 5 14:01:18 -03 2014


Gladiston, no es tan así, las bases de datos de Firebird no aumentan en el
valor de la entrada DatabaseGrowthIncrement (que por defecto es de 128 Mb)
cada vez que lo hacen, ese es el valor máximo.

El tamaño de las bases de datos aumentan en un 1/16 del tamaño actual,
siendo 128 Kb el valor mínimo y DatabaseGrowthIncrement el valor máximo.

Dependiendo de su tamaño actual, una Base de Datos puede aumentar en 1 Mb,
2 Mb, 40 Mb, etc.

Lo que no puede hacer es aumentar en menos de 128 Kb ni en más de
DatabaseGrowthIncrement.

Escribí un artículo en mi blog para explicar mejor el concepto:

http://firebird21.wordpress.com/2014/08/05/como-las-bases-de-datos-de-firebird-aumentan-de-tamano/

Saludos.

Walter.



2014-08-04 9:22 GMT-04:00 Gladiston Santana <gladiston em vidy.com.br>:

> O default do Firebird é crescer o banco de dados gradativamente em tamanhos
> de 128MB(default), se seu cliente tá usando 6 meses e já está nos 5GB de
> dados, isso significa que o FB já fez um realimento de tamanho pelo menos
> umas 40 vezes, nada contra, mas a cada vez que ele faz isso ele perde
> performance, uma no momento de crescer pois as conexões devem esperar o
> realinhamento e outra na fragmentação, pois o novo bloco de 128MB de dados
> provavelmente estará disposto num lugar diferente do disco, com mais de 40
> realinhamentos, o banco de dados deve estar bem fragmentado no disco. Tem o
> risco também, uma falha de energia no momento que se está fazendo esse
> realinhamento de tamanho pode ser desastroso.
>
> Tem uma opção no firebird.conf chamada de 'Disk space preallocation' onde
> pode mudar esses '128MB', talvez voce tenha que jogar esse valor bem pra
> cima e evitar tantas vezes esse 'realinhamento' automatico do FB, talvez
> dimensionar um tamanho que cause esse realinhamento apenas 1 vez por ano.
>
> Eu apenas não sei se é possível fazer esse tipo de tunning em edições
> embarcadas, mas tenta aí e depois me diz.
>
>
> Em 2 de agosto de 2014 13:58, Pineli <carlospineli em gmail.com> escreveu:
>
> > Ola boa tarde a todos,
> >
> > A um bom tempo utilizo  Firebird como banco de dados, maioria dos casos
> no
> > modo embarcado. Tenho um cliente que esta reclamando que que software
> > demora para abrir uns 50 segundos, o que eu acho normal.
> >
> > O banco tem 5 Gigas até o momento, possui uma tabala que no caso dele
> > insere +/- 150 registros por dia, ele precisa ter dados rápidos pelo
> menos
> > durante 5 anos. Ai penso em 6 meses demora 50 segundos em 5 anos ele não
> > via mais poder fechar a aplicação.
> >
> > Uso a versão 2.5.2
> >
> > minha rotina de conexão esta em um thread só para o DB
> >
> >     SQLconexao                                           :=
> > TSQLConnection.Create(application);
> >     SQLConexao.ConnectionName                            :=
> 'IBConnection';
> >     SQLconexao.DriverName                                := 'Interbase';
> >     SQLConexao.GetDriverFunc                             :=
> > 'getSQLDriverINTERBASE';
> >     SQLconexao.LibraryName                               :=
> 'dbexpint.dll';
> >     SQLconexao.LoginPrompt                               := false;
> >     SQLconexao.VendorLib                                 := 'gds32.dll';
> >     SQLConexao.Params.Values['DriverName']               := 'Interbase';
> >     SQLConexao.Params.Values['Database']                 :=
> 'db\SRV01.FDB';
> >     SQLConexao.Params.Values['RoleName']                 := 'RoleName';
> >     SQLConexao.Params.Values['User_Name']                := 'sysdba';
> >     SQLConexao.Params.Values['Password']                 := 'masterkey';
> >     SQLConexao.Params.Values['SQLDialect']               := '3';
> >     SQLConexao.Params.Values['LocaleCode']               := '0000';
> >     SQLConexao.Params.Values['BlobSize']                 := '-1';
> >     SQLConexao.Params.Values['CommitRetain']             := 'False';
> >     SQLConexao.Params.Values['WaitOnLocks']              := 'True';
> >     SQLConexao.Params.Values['Interbase TransIsolation'] :=
> 'ReadCommited';
> >     SQLConexao.Params.Values['Trim Char']                := 'False';
> >     SQLconexao.Connected                                 := true;
> >
> >
> > É normal isso como poderia otimizar isto?
> >
> > Abraço
> >
> > Jose Carlos
> > ______________________________________________
> > 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
> >
>
>
>
> --
> --
> B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
> vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
>  OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
>  ,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
>   U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
>    B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
>    7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
>     NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
>     . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
>      55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
>      ==============================================r@@@@F=====
>      Gladiston Santana                             8 em B@B,
>      Supervisor de TI                             G em B@B7
>      Tel.:+551147873122 R:228                    :@B em B0
>      Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
>      Visite nosso site: www·vidy·com·br         BB@@@u
>      Visite também : www·expolabor·com·br      GB em B@N
> ______________________________________________
> 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