Desvendando do Firebird 2.5
A principio, gostaria de deixar claro, Que a referencia dessa postagem foram tiradas do site da Firebase, palestras do FDD, IBSurgeon e experiencias pro prias de consultoria
Perguntas
Qual o tamanho máximo de uma base o Firebird comporta?
R: Temos relatos de bases de dados com mais de 1TB
Quantas bases de dados Firebird posso ter em um único servidor?
R: Já presenciei um servidor com mais de 70 bases, sendo cada uma com mais de 500Mb.
Dicas
Nessa postagem vou passar alguns macetes para diminuir o travamento do serviço do FBServer e minimizar a lentidão de conexão entre servidor de Aplicação e servidor de banco de dados.1º - Aplicação e Banco de dados devem estar em servidores/equipamentos diferentes. Caso estejam em um mesmo servidor, os recursos serão compartilhados, gerando lentidão em ambos (aplicação e banco de dados)
2º - O Servidor de Banco de dados não pode rodar junto com o serviço de AD e DNS. Ao rodar o Firebird no mesmo servidor de AD, ocasiona lentidão de escrita em disco e travamento do AD.
3º- Deve ser calculado a quantidade de banco de dados com a memoria e CPU do servidor de banco de dados. O Firebird 86x tem limitação de 2GB para memoria, caso seus bancos de dados ultrapassem essa porcentagem o consumo de memoria será incompatível, fazendo com que o serviço do Firebird congele.
4º- Se seu ambiente trabalha 24hs mantenha o sweep automático desativado. Quando sweep automatico está ativo, ele é executado ao atingir o limite de 20 mil transações. Se a base de dados estiver sendo utilizada no momento, o comando do sweep vai ficar em looping e não será executado, consumindo memoria do servidor.
Como desativar o sweep automático?
Segue linha de comando:
5º- Por padrão o Firebir utiliza 2048Mb de cache. Quanto maior for configurado, mais rápido ele fica, e maior é a memoria consumida, o ideal é manter o meio termo. Em um servidor windows 32x com 4GB de memoria, 40 bases de 70Mb, configurei ele para 1024.
Como efetuar essa configuração?
Acesse a Pasta de programas, localize o Firebir. Dentro da pasta existe o documento Firebird.conf.
Obs. Faça sempre um backup antes de qualquer alteração.
Edite o arquivo Firebird.conf. Localize a linha:
Tire o comentário e edite o tamanho indicado para seu ambiente. No meu caso setei para 1024.
Reinicie o Firebird.
6º- Mantenha uma politica de validação dos bancos de dados. Efetue periodicamente o processo de GFIX e Sweep em seus bancos de dados. Abaixo segue um script que uso em meus servidores a cada 15 dias.
SET ISC_USER=SYSDBA
SET ISC_PASSWORD= SENHAgfix -v -full "Caminho da base" gfix -mend -full -ig "Caminho da base" GFIX -SHUT -FORCE 0 -user sysdba -password SENHA "Caminho da base" GFIX -SWEEP -user sysdba -password SENHA Caminho da base gbak -b -g -v -user sysdba -password SENHA "Caminho da base.FDB" "caminho do backup.GBK" gbak -c -v -ig -g -user sysdba -password SENHA "Caminho do backup.GBK" Caminho da base_.FDB" |
Após finalizar troco o banco atual para Base_old.FDB e a nova de BASE_.FDB para BASE.FDB
Qualquer duvida, "https://www.firebase.com.br/" não tem ninguém melhor para ajudar em qualquer tema de Firebird do que o Cantu.