Melhorar Desempenho Firebird
Configurações para performance
Quando instalado em um servidor dedicado, com um bom processador e memória, é possível fazer algumas configurações no Firebird para melhorar o seu desempenho.O arquivo se localiza na pasta (por padrão) C:\Program Files\Firebird_2.5\ ou /opt/firebird/, dentro dele há várias configurações com suas explicações.
Abaixo seguem alguns exemplos de como configurar. Para isso, basta copiar as configurações abaixo e colar dentro do arquivo firebird.conf, dependendo das configurações do servidor.
Configuração para servidor com processador dual-core, e pelo menos 4GB memória:
DefaultDbCachePages = 4096 FileSystemCacheThreshold = 67108864 FileSystemCacheSize = 70 CpuAffinityMask = 3
Configuração para servidor com processador dual-core, e pelo menos 8GB memória:
DefaultDbCachePages = 8192 FileSystemCacheThreshold = 134217728 FileSystemCacheSize = 70 CpuAffinityMask = 3
Configuração para servidor com processador quad-core, e acima de 8GB memória:
DefaultDbCachePages = 16384 FileSystemCacheThreshold = 268435456 FileSystemCacheSize = 80 CpuAffinityMask = 3
Após feito as alterações no arquivo, reinicie o Firebird, e faça o processo de Backup e Restore do banco de dados definindo o Page Size igual ao que foi configurado na opção DefaultDbCachePages (a primeira da lista).
DefaultDbCachePages - Define o tamanho do arquivo de paginação utilizado pelo cache da máquina. Quanto maior o valor, maior a quantidade de dados que trafegam em um mesmo processo simultâneo, resultando em pesquisas mais rápidas.
FileSystemCacheThreshold - Esta opção define o tamanho do arquivo de cache que o firebird utiliza para salvar os arquivos da paginação da configuração acima.
FileSystemCacheSize - Esta configuração define a porcentagem da memória o firebird pode utilizar para o cache. Não é recomendado definir valores acima de 70 ou 80 se o servidor não for 100% dedicado ao banco de dados.
CpuAffinityMask - Esta configuração define quantos cores do processador o firebird pode utilizar para os processos. 3 para dual-core, 10 para quad-core, 21 para hexa-core. Definir apenas para os núcleos reais, pois o firebird anterior a versão 3.0 não utiliza todos os núcleos do processador. Esta opção aplica-se apenas a servidores com Windows.
*Aumentar o cache no sistema operacional.
* Aumentar Paginação do Windows.
*Liberar permissões no sistema operacional pasta 'Firebird'
Outros lembretes:
O segment size (tamanho do segmento) é definido para aumentar o desempenho de Entrada/SAÍDA dados no blob. Varia de acordo com o tipo de informação que se deseja armazenar. para menos curtos - mesmo que em alguns casos se estenda um pouco mais - pode-se definir o tamanho como 100 bytes, que informa devem ser processados blocos de 100 bytes de cada vez.
para vídeos ou gráficos grandes, deve ser informado um comprimento maior. o comprimento máximo é de 65536 bytes (64 Kb), isto porque todos os índices do blob são armazenados e lidos em bloco.
quando um blob é lido, o seu conteúdo é extraído em blocos por isso, quanto maior o bloco, maior o número de bytes processados simultaneamente, aumentando a performance.
lembrando que o segment size não limita o tamanho do campo, mas sim como ele é manipulado.
a limitação do campo se dá em função do tamanho da página (page size) informado ao criar o banco de dados.
-
Quando você tem textos maiors que o bloco, é que são processados:
Em uma quantidade de 100 caracteres, a serem gravados 2 blocos, 1 completo eo outro apenas 20 caracteres, atentar-se ao colocar segment size em um valor que não será alcançado pois são gravados sempre em blocos'Completos' se você informar o segmente size de 2048 e gravar apenas 5 caracteres, o espaço será ocupado por completo, sendo alocado um bloco de 2048 bytes sem necessidade.
1
2
3
4
5
6
7
| Page size Tam. máximo do blob---------------------------------------------------1Kb (1024) => 64 Mb blod2Kb (2048) => 512 Mb4Kb (4096) => 4 Gb8Kb (8192) => 32 Gb16kb (16384) => 256 Gb grande o suficiente... :- |
1 Comentários
http://www.ibexpert.net/ibe/index.php?n=Doc.FirebirdPerformanceRecommendations&fbclid=IwAR3mRKYk1DL3ETek7sYRBZazKwzyf12CQt63voBJEjNVqUO8VQ3e3q_qeo0