Skip to content

Instantly share code, notes, and snippets.

@wellington1993
Last active October 26, 2023 20:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wellington1993/40c894850fbb38e4eae955ea919fd407 to your computer and use it in GitHub Desktop.
Save wellington1993/40c894850fbb38e4eae955ea919fd407 to your computer and use it in GitHub Desktop.
Exemplos de configurações para Otimização de Bancos Firebird 4 - Config for optimizing Firebird 4
# Arquivo de configuração do Firebird 3.0.11
# Para um servidor com 64 GB de memória RAM e 16 núcleos de processador
# Rodando em Windows Server com arquitetura SuperClassic
# Define o número padrão de páginas do banco de dados que serão alocadas na memória, por banco de dados
DefaultDbCachePages = 32768
# Define o tamanho dos blocos usados para armazenar os arquivos temporários usados pelo Firebird para operações como ordenação e agrupamento
TempBlockSize = 4194304
# Define o limite máximo de memória que pode ser usado para armazenar os arquivos temporários usados pelo Firebird para operações como ordenação e agrupamento
TempCacheLimit = 8589934592
# Define o tamanho da memória alocada para a tabela de bloqueios do Firebird
LockMemSize = 62914560
# Define o número de slots na tabela hash de bloqueios do Firebird
LockHashSlots = 99999
# Define a afinidade do processador para o Firebird no Windows
CpuAffinityMask = 65535
# Define o diretório ou diretórios onde o Firebird pode criar arquivos temporários
TempDirectories = D:\FBTemp;E:\FBTemp;F:\FBTemp
# Define o tamanho do arquivo de cache que o Firebird utiliza para salvar os arquivos da paginação
FileSystemCacheThreshold = 536870912
# Arquivo de configuração do Firebird 4.0.3
# Para um servidor com 64 GB de memória RAM e 16 núcleos de processador
# Rodando em Windows Server com arquitetura SuperClassic
# Define o número padrão de páginas do banco de dados que serão alocadas na memória, por banco de dados
# Quanto maior o valor, maior o cache do banco de dados na memória e menor a necessidade de acessar o disco
# O valor é definido em função do tamanho da memória RAM e do tamanho das páginas do banco de dados
# Neste caso, o valor é 32768 páginas, que corresponde a 512 MB de memória para um banco de dados com páginas de 16 KB
DefaultDbCachePages = 32768
# Define o tamanho dos blocos usados para armazenar os arquivos temporários usados pelo Firebird para operações como ordenação e agrupamento
# Quanto maior o valor, mais dados podem ser armazenados em cada bloco e menos acessos ao disco são necessários
# O valor é definido em bytes e deve ser um múltiplo de 4 KB
# Neste caso, o valor é 4194304 bytes, que corresponde a 4 MB por bloco
TempBlockSize = 4194304
# Define o limite máximo de memória que pode ser usado para armazenar os arquivos temporários usados pelo Firebird para operações como ordenação e agrupamento
# Quanto maior o valor, mais dados podem ser mantidos na memória e menos acessos ao disco são necessários
# O valor é definido em bytes e deve ser menor que a metade da memória RAM disponível
# Neste caso, o valor é 8589934592 bytes, que corresponde a 8 GB de memória
TempCacheLimit = 8589934592
# Define o tamanho da memória alocada para a tabela de bloqueios do Firebird
# Quanto maior o valor, mais transações concorrentes podem ser gerenciadas pelo Firebird e menos conflitos de bloqueio ocorrem
# O valor é definido em bytes e deve ser suficiente para armazenar pelo menos 100 bytes por transação esperada
# Neste caso, o valor é 62914560 bytes, que corresponde a 60 MB de memória e permite cerca de 600 mil transações simultâneas
LockMemSize = 62914560
# Define o número de slots na tabela hash de bloqueios do Firebird
# A tabela hash é usada para armazenar as informações sobre os bloqueios solicitados e concedidos pelos processos do Firebird
# Quanto maior o número de slots, menor a probabilidade de colisão entre os valores hash, e portanto, menor o tempo necessário para encontrar um bloqueio na tabela
# O valor é definido como um número primo próximo ao número esperado de bloqueios simultâneos
# Neste caso, o valor é 99999, que corresponde a um número primo próximo a 100 mil bloqueios simultâneos
LockHashSlots = 99999
# Define o diretório ou diretórios onde o Firebird pode criar arquivos temporários
# Os arquivos temporários são usados pelo Firebird para armazenar dados intermediários que não cabem na memória, como resultados parciais de consultas, tabelas temporárias, índices externos, etc.
# É possível especificar mais de um diretório, separando-os por ponto-e-vírgula, e o Firebird vai distribuir os arquivos entre eles
# O valor é definido como um ou mais caminhos válidos no sistema operacional
# Neste caso, o valor é D:\FBTemp;E:\FBTemp;F:\FBTemp, que corresponde a três diretórios diferentes em três discos diferentes
TempDirectories = D:\FBTemp;E:\FBTemp;F:\FBTemp
# Define o tamanho do arquivo de cache que o Firebird utiliza para salvar os arquivos da paginação
# A paginação é o mecanismo que divide os dados do banco em unidades chamadas páginas, que são armazenadas em disco e carregadas na memória conforme necessário
# O arquivo de cache é usado pelo Firebird para reduzir o número de acessos ao disco, mantendo as páginas mais usadas na memória
# O valor é definido em bytes e deve ser menor que a metade da memória RAM disponível
# Neste caso, o valor é 536870912 bytes, que corresponde a 512 MB de memória
FileSystemCacheThreshold = 536870912
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment