Configuração Firebird – Servidor Dedicado

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/firebird.conf, dentro dele há várias configurações com suas explicações, e vamos mostrar alguns exemplos de como configurar. Para isso, basta copiar as configurações abaixo dentro do arquivo (firebird.conf), dependendo das configurações da maquina:

Configurações

  • 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

Banco de Dados

Após feito as alterações no arquivo, reinicie o Firebird, e faça o processo de Backup e Restaurar do banco de dados definindo o campo Page Size igual ao que foi configurado na opção DefaultDbCachePages (a primeira da lista), conforme a imagem abaixo:

Aplicação

Na aplicação, é preciso entrar na janela de configuração do banco de dados, e definir o campo Pacotes, igual ao que foi configurado na opção DefaultDbCachePages (a primeira da lista), conforme a imagem abaixo:

Cuidado

Se as alterações comprometerem o desempenho do sistema, ou causarem perdas de conexão ou lentidão, desfaça as mudanças no arquivo de configuração e contate o suporte.

Entendendo as Mudanças

—————————-
Number of cached database pages

This sets the number of pages from any one database that can be held
in cache at once. If you increase this value, the engine will
allocate more pages to the cache for every database. By default, the
SuperServer allocates 2048 pages for each database and the classic
allocates 75 pages per client connection per database.

Type: integer

DefaultDbCachePages = 2048

  • DefaultDbCachePages = 8192
    • Define o tamanho do arquivo de paginação utilizado pelo cache da maquina, quanto maior o valor, maior a quantidade de dados que trafega em um mesmo processo simultaneo, resultando em pesquisas mais rápidas.

—————————-
File system cache threshold

The threshold value that determines whether Firebird will use file system
cache or not. File system caching is used if database cache size in pages
(configured explicitly in database header or via DefaultDbCachePages setting)
is less than FileSystemCacheThreshold value.

To use file system cache always set FileSystemCacheThreshold to a large value.
To bypass file system cache for all databases set FileSystemCacheThreshold to
zero.

Type: integer, measured in database pages

FileSystemCacheThreshold = 65536

  • FileSystemCacheThreshold = 134217728
    • 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.

—————————-
File system cache size

This setting controls the maximum amount of RAM used by Windows file system
cache on 64-bit Windows XP, Windows Server 2003 SP1 or later host. It has no
effect for Unix hosts in this release yet.

Note that the lowest number presently supported is 10%, and the highest number
is 95%; numbers outside these limits will be set to the default of 30%.

If the cache size has already been selected when the engine starts the host
setting will not be changed. Thus you may need to reboot the host for the
change of this setting to have effect.

To leave host caching settings unchanged set this parameter to 0.

Security note
To adjust the setting engine needs SeIncreaseQuotaPrivilege right. Built-in
service accounts and administrators have it by default. Installer grants this
right to Firebird service account. If the engine fails to adjust the cache
size setting it will log warning message to the firebird.log and continue.

Type: integer, measured in % of total physical RAM

FileSystemCacheSize = 30

  • FileSystemCacheSize = 80
    • Esta configuração define a porcentagem da memoria 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.

—————————-
Which CPUs should be used (Windows Only)

In an SMP system, sets which processors can be used by the server.
The value is taken from a bit map in which each bit represents a CPU.
Thus, to use only the first processor, the value is 1. To use both
CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value
is 6. The default value is 1.

Type: integer

CpuAffinityMask = 1

  • CpuAffinityMask = 3
    • 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.

firebird.png (7,906 KB)

aplicacao.png (10,155 KB)

http://workdev.ddns.com.br:8080/redmine/boards/11/topics/107

Deixe um comentário