DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Configurações do Borland InterBase em Detalhes - Parte 1

Veja neste artigo configurações do Borland InterBase em detalhes.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Configuração de Parâmetros no Borland InterBase:

O Borland InterBase é um banco de dados poderoso e atende os padrões SQL, podendo ser embutido em aplicações e utilizado em aplicações específicas e não necessita dos suporte da área de TI.

O InterBase possui vários parâmetros em seu arquivo de configuração que podem alterar a performance do servidor ou do banco de dados. Como resultado o InterBase suporta 3 plataformas (Windows, Linux, Solaris) e através dos parâmetros de configuração e do cenário da aplicação podem determinar a performance.

Este artigo está divido em 2 partes, esta primeira parte irá explicar todos parâmetros disponíveis no Borland InterBase.

Alterar a Configuração com Base em quê?

InterBase é usado em vários tipos de aplicação, é usado em aplicações 2 camadas, n camadas e vários sistemas operacionais. Cada um destes cenários expõe o banco de dados a comportamentos diferentes. A otimização de um banco de dados antes de tudo depende do número de usuários para que a aplicação possa ser distribuída, isso se chama escalabilidade, muitos confundem o que é escalabilidade e acham que é o número de sistemas operacionais que o banco de dados aceita e não é. Escalabilidade é a capacidade que o banco de dados possui de suportar o aumento de usuários e principalmente a evolução do hardware.Podemos usar como exemplo de escalabilidade uma comparação muito familiar aos leitores da ClubeDelphi: Borland InterBase 7.1 e FireBird 1.5. O Borland InterBase 7.1 é altamente escalar, suporta mais usuários concorrentes sem prejudicar a performance do banco de dados do que o FireBird 1.5, outro ponto muito importante é que InterBase 7.1 suporta SMP (suporta à máquinas bi-processadas) e Hyper-Threading (nova tecnologia SMP da Intel). Isto significa que se o usuário tiver um servidor com 2, 3, 4, 5 ou mais processadores o InterBase 7.1 irá utilizar todos os recursos do servidor enquanto o FireBird 1.5 irá usar apenas 1.

A alta disponibilidade é outro ponto importante, se o negócio for 24x7 o banco de dados não pode em momento algum parar, o controle de transações, backup on-line e recuperação automática do servidor são alguns dos requisitos que nos farão determinar a configuração do banco de dados.

Onde e Como Configurar o InterBase:

O Borland InterBase disponibiliza um arquivo com uma lista de parâmetros para configuração, até o InterBase 6.5 o arquivo de configuração se chamava isc_config em Linux e Solaris, no InterBase 7.x em diante este arquivo se chama ibconfig em todas as plataformas, este arquivo se encontra no diretório raiz do InterBase, o diretório padrão em Windows é C:\Arquivos de Programas\Borland\InterBase e em Linux/Solaris: /opt/interbase.

No ibconfig todos os parâmetros estão configurados com o valor padrão (default) assumido pelo Server. Esses valores são validados para estarem na faixa permitida de cada parâmetro.

O ibconfig é utilizado tanto pelo Server como pelo client. O client tanto para Windows (através da gds32.dll), quanto para Linux/Solaris (por mio da libgds.so) utilizam estes parâmetros.

O Impacto dos Parâmetros:

O InterBase Server utiliza vários parâmetros para gerenciar suas operações. Os parâmetros já estão pré-configurados, mas de acordo com suas instalações algumas alterações podem lhe ajudar a otimizar sua aplicação. Alguns parâmetros de otimização dependem dos recursos disponíveis na sua máquina (memória, espaço para arquivos temporários, processador e sistemas SMP (mais de um processador)). Outros dependem do tamanho do banco de dados e dos requisitos de escalabilidade. Existem ainda parâmetros que dependem de como suas instalações são seguras.

Lista de Parâmetros do IBConfig:

A lista de parâmetros encontra-se no IBConfig. Cada parâmetro inicia com o símbolo #, que denota um comentário. Assim sendo, o InterBase assume o valor padrão para o parâmetro. Para determinar um valor, basta retirar o #. Ao lado de cada parâmetro encontra-se o valor default.

As alterações no parâmetros só terão reflexos a partir da reinicialização do InterBase Server, não é necessário reiniciar seu servidor, apenas o InterBase Server.

#ADMIN_DB       “admin.ib”

Especifica o nome do banco de dados de segurança do InterBase Server, caso não seja alterado será assumido o nome “admin.ib”. O banco de dados de segurança está no diretório raiz do InterBase.

#ANY_EVENT_MEM_SIZE       32768

Total de bytes que serão alocados para gerenciamento de eventos.

#ANY_LOCK_MEM_SIZE       98304

Total de bytes que serão alocados para gerenciamento de locks.
O default é 98304 em Linux e Solaris e 256K em Windows.

#ANY_LOCK_SEM_COUNT       32

Número de semáforos para comunicação entre processos.
Disponível apenas para arquiteturas clássicas (até InterBase 4.2).

#ANY_LOCK_SIGNAL       16

Quantidade de sinais UNIX para comunicação entre processos.
Disponível apenas para arquiteturas clássicas (até InterBase 4.2).

#CPU_AFFINITY

Configura em qual processador o InterBase Server irá ser executado, este valor é representado por um vetor binário mas é configurado com valores decimais (o InterBase Server converte este valor para o vetor binário). Exemplo: para usar o InterBase Server no processador 1, o valor é 1. Para usar no processador 2 e 3 o valor é 3, para usar no processador 2 e 3 o valor é 6.
Apenas para plataforma Windows e
em ambientes SMP.
Quanto este parâmetro está comentado o padrão é usar todos os processadores.

#CONNECTION_TIMEOUT       180

Segundos que o Server irá aguardar para detectar que uma conexão falhou.

#DATABASE_CACHE_PAGES       2048

Do lado servidor, é o número de páginas que serão alocadas na memória para cada banco de dados, ou seja, o tamanho da memória cache.
Este parâmetro também pode ser configurado do lado client.

#DEADLOCK_TIMEOUT       10

Segundos que o Server aguarda para checar se um recurso está em deadlock.

#DUMMY_PACKET_INTERVAL       60

Segundos que o client aguarda antes que o Server envie pacotes (DUMMY PACKET) requisitando o status da conexão.

#ENABLE_HYPERTHREADING

Habilita a tecnologia hyper-threading nos processadores lógicos.
Valores utitlizados: 1 (habilitado), 0 (desabilitado).
O valor padrão é 0 (desabilitado).

#EXTERNAL_FILE_DIRECTORY

Configura arquivos externos que estão ligados ao banco de dados.
Se os arquivos externos não estão no <interbase_home>/ext, especifique através deste parâmetro, o local correto. Por razões de segurança é recomendado que não se coloque nenhum outro tipo de arquivo nesta pasta.

#EXTERNAL_FUNCTION_DIRECTORY

Se você usa bibliotecas UDF e estas não estão no <interbase_home>/UDF, especifique através deste parâmetro, o local onde estão suas bibliotecas. Por razões de segurança é recomendado que não se coloque nenhum outro tipo de arquivo nesta pasta.

#MAX_THREADS

Número máximo de threads que podem ser executadas simultaneamente através do engine do InterBase. Este valor se aplica a ambientes SMP (mais de um processador). Em ambientes mono processados (apenas 1 processador) o valor padrão é 1. Isso elimina o overhead requisitado em ambientes SMP.

#SERVER_CLIENT_MAPPING       4096

Tamanho em bytes mapeados para o client utilizar na comunicação entre processos.

#SERVER_PRIORITY_CLASS       1

Prioridade do serviço do InterBase em Windows NT, XP, Windows 2000 e 2003.
O valor 1 é baixa prioridade, valor 2 é alta prioridade.
Relevante apenas nas versões de Windows listadas acima.

#SERVER_WORKING_SIZE_MAX

Tamanho máximo de memória que poderá ser utlizado para fazer swap de memória pelo Server.
Relevante apenas em Windows NT, XP, Windows 2000 e 2003.
O padrão é determinado pelo sistema operacional.

#SERVER_WORKING_SIZE_MIN

Tamanho mínimo de memória que poderá ser utlizado para fazer swap de memória pelo Server.
Relevante apenas em Windows NT, XP, Windows 2000 e 2003.
O padrão é determinado pelo sistema operacional.

#SWEEP_QUANTUM       250

Especifica o número máximo de registros permitido nas thread do garbage collection e nas threads do sweeper, antes que o parâmetro YIELDING retorne o controle das mesmas.

#SWEEP_YELD_TIME       1

Especifica o tempo em milesegundos que a thread do sweeper e do garbage collection irão aguardar entre uma o término e início da mesma.

#TCP_REMOTE_BUFFER       8192

Tamanho do TCP/IP buffer para envio e recebimento de buffers. Se aplica ao client e Server.
O valor padrão é 8192 bytes. O intervalo válido é de 1448 até 32768.

#TMP_DIRECTORY

Diretório utilizado para gerar os arquivos temporários.
Podem ser especificados o diretório e tamanho, em bytes, disponível no diretório.Listando vários TMP_DIRECTORY em várias linhas, determinam-se vários diretórios para arquivos temporários.
O valor padrão pode ser determinado criando a variável INTERBASE_TMP no sistema operacional ou determinando a variável TMP do sistema operacional. Em Windows geralmente, c:\temp e em Linux/Solaris, /tmp.

#USER_QUANTUM       250

Especifica o número máximo de registros permitido nas threads de trabalho (threads que são executas quando são executadas querys) está é executa que o parâmetro YIELDING retorne o controle de outras threads.

#V4_EVENT_MEMSIZE       32768

Tamanho em bytes da memória que será alocada para gerenciamento de eventos.
Sobre põe o parâmetro ANY_EVENT_MENSIZE.

Conclusão:

O arquivo de configuração do Borland InterBase é uma parte determinante na performance do banco de dados. Neste artigo, listamos os parâmetros disponíveis. No próximo artigo, iremos detalhar e citar exemplos em que as alterações podem fazer a diferença. Caso você tenha alguma dúvida ou deseja conhecer melhor o InterBase, a Presence Tecnologia, responsável pela gestão do Borland InterBase no Brasil, apresenta diversos workshops gratuitos sobre o Borland InterBase e fornece todo o suporte/consultoria ao Borland InterBase em conjunto com a Borland Latin América.

Um grande abraço e até o próximo artigo.

 



Andreano Lanusse é Consultor Técnico na Borland Latin America, especialista em InterBase, larga experiência em desenvolvimento de aplicações corporativas e atua no desenvolvimento de aplicações Mobile, e certificado Borland Delphi [...]

O que você achou deste post?
Conhece a assinatura MVP?
Serviços

Mais posts