Performance Tuning


    Este artigo tem como objetivo orientar o usuário com uma referência não restritiva de configuração para o Pervasive em clientes que utilizam o Gerenciador de Aplicativos Prosoft - GAP.

    É  importante que seja feita análise do ambiente para melhor entendimento das configurações ideias.

    Informações Adicionais: As configurações descritas neste manual se aplicam apenas ao servidor, para configurações da estação verifique manual específico.

    Como base para as informações deste manual foi utilizado a referencia oficial da Actian no link:

    https://docs.actian.com/psql/psqlv13/index.html#page/advops%2Fperformance.htm%23ww99582


    Configuração do Performance Tuning


    Pervasive Control Center (PCC):

    1- Acesse o Menu Iniciar do Windows, no campo de pesquisa digite PCC e depois de localizado dê um duplo clique para acessá-lo.

    2- Clique em Configure Local Engine.

    Guia Access:

    Por padrão essa guia é apresentada como na imagem abaixo. Não há necessidade de modificações, qualquer mudança aqui pode ocasionar a paralisação do sistema.

    Guia Communication protocols:

    Esta guia determina o protocolo de comunicação do Pervasive, porta e eventualmente a placa de rede pela qual essa comunicação ocorrerá.

    • Opção TPC/IP Multihomed:Deve ser mantida marcada exceto nas situações onde o servidor possua duas placas de rede, nestes casos é possível que surjam problemas de contagem incorreta de assentos no Pervasive, então é necessário desmarcar esta opção e em seguida informar o IP da placa correta no campo Listam IP Address.
    • TPC/IP Port:Esta opção indica a porta no qual o Pervasive trabalha, evite alterar esta configuração.
    • Listem IP Address: Apenas utilize quando desmarcar a opção TPC/IP Multihomed.
    • Supported Protocols: Mantenha marcada apenas a opção TCP/IP, as demais não irão auxiliar na comunicação e ainda podem tornar mais lenta devido a tentativa de estabelecer comunicação por outros protocolos.

    Guia Compatibility:

    Nesta guia é possível determinar a versão dos arquivos que o engine do Pervasive criará, evite alterações, pois apenas fará sentido quando for necessário enviar um arquivo criado no servidor para um local onde a versão do Pervasive seja 9 ou inferior.

    Guia Data Integrity:

    Nesta guia são definidos critérios para o Pervasive manter a integridade.

    • Transaction Durability: O mecanismo de banco acaba tendo um maior controle sobre a transação e geração de log sobre ela, porém implica em menor performance.

    Obs.: Para clientes com problemas de performance esta configuração pode ser desabilitada mantendo o Transaction Logging ativo.

    • Transaction Logging: O mecanismo de banco acaba gerando menos log a cerca das transações, o que implica em uma menor capacidade de recuperação em situações de desastres na gravação, porém permite uma maior performance. O controle de transações continua existindo.

    Obs.: Para clientes onde a performance não é um problema é possível desativar esta opção ativando o Transaction Durability.

    As demais configurações não devem ser alteradas, pois podem implicar em gargalos para o sistema e são ajustes que apenas a Actian(anteriormente Pervasive) realiza.

    Guia Debugging:

    Nesta guia encontramos informações sobre o debugging do Pervasive, não realize alterações aqui, pois são de uso exclusivo da Actian.

    Aba Access:

    Essa guia é focada no acesso do cliente, não há necessidade de modificações.

    Aba Directories:

    Nesta guia é onde são indicados os diretórios de arquivos que o Pervasive utiliza, não há necessidade de modificação.

    Aba Memory usage:

    Nessa guia é informado ao Pervasive o comportamento relacionado a memória.

    • System cache: No servidor, esta configuração deve ser desativada, pois realizar o cache diretamente nele pode acabar implicando em swap da memória para o disco, desta forma a performance que inicialmente pode ter aumentado acaba sendo prejudicada.
    • Allocates Resources at Startup: Configuração que faz sentido em situações onde o Pervasive precisa “disputar” o uso de memória com outras aplicações, assim o Pervasive reserva uma quantidade mínima de memória assim que possível. É importante entender que este não é um limitante da memória a ser utilizada.
    • Back to Minimal Stte If Inactive: Configuração para ser utilizada quando não há alocação de recursos por meio da configuração Allocates Resources at Startup, nestas situações o Pervasive liberará todos os recursos de memória quando não houver mais clientes ativos no serviço.

    É importante ter em mente que clientes que possuem integrador dificilmente entrarão em estado inativo, pois o serviço esta sempre checando o banco de integração.
    Demais configurações não devem ser modificadas.

    Guia Performance Tuning:

    Esta guia é utilizada para otimização de comunicação, processamento e uso de memória

    • Index Balancing: Normalmente esta opção deve ser desativado, apesar do balanceamento ser importante o processo pode ser oneroso.
    • Limit Segment Size to 2GB:Esta opção SEMPRE deve ser desativada, por padrão o Pervasive é instalado com essa configuração ativa.

    A configuração fará com que o Pervasive limite o tamanho do arquivo à 2gb, com isso os arquivos com tamanho de 5.5 gb serão fragmentados em 3 arquivos, isso torna as consultas bem mais lentas.

    • Cache Allocation size in MB: Indica quanta memória poderá ser usada para alocar arquivos usados pelo banco, é preciso ter o cuidado de não tentar alocar mais memória do que o necessário nem mesmo mais memória do que o possível (casos de banco workgroup 32bits), a própria Actian sugere que este seja algo em torno de 20-70% do tamanho total da base, pensando ainda que valores menores favorecem a leitura e valores maiores favorecem a escrita.

    Versões:

    Pervasive 11 Workgroup:

    É necessário configurar com o valor de memória compatível com a quantidade de memória RAM do servidor, ou seja, a quantidade de alocação precisa ser menor do que o que realmente existe de disponível no servidor, para início do ajuste limite a 800 MB (o valor de 800 MB é o máximo para as versões Workgroup do Pervasive) para um servidor com até 4 GB.

    Pervasive 11 Server:

    Já para a versão Server com o Windows 64 bits, pode-se realizar a configuração conforme a disponibilidade de memória RAM do servidor.

    Exemplo: Se o servidor possui 16384MB de ram no servidor e este servidor é dedicado ao Gerenciador de Aplicativos Prosoft - GA pode colocar 50%,8192MB de ram.

    • Number of Input/Output Threads:Neste ponto a sugestão é que o valor seja equivalente a 1/8 da média de arquivos que ficam abertos no servidor, para um servidor que mantém 80 arquivos abertos pode-se utilizar 10 threads.
    • Communication Threads: Definição de quantas Threads serão utilizadas para comunicação com o banco, deve ser ao menos o valor encontrado como Peak em Communication Threads dentro do Monitor em Communications.
    • Max Microkernel Memory Usage: Corresponde ao percentual máximo que poderá ser utilizado de memória total pelo mecanismo de banco, em geral utilizamos “40”, porém é necessária uma analise no ambiente para especificar a melhor configuração possível.
    • File Growth Factor: Indica o fator de crescimento do arquivo, em geral podemos utilizar “5”, pois não criará grandes espaços a serem utilizados nem mesmo forcará o banco a ficar criando novas páginas o tempo todo.


    Alteração do Registro do Windows:

    Devido ao modo de trabalho do Pervasive é possível identificar lentidão em situações onde varias leituras são feitas em um mesmo arquivo não necessariamente de forma sequencial, isso implica em Abrir-Ler-Fechar arquivo, para estas situações há duas chaves de registro bastante úteis:

    • UseDelayedSyncClose e UseDelayedSynCloseForRI: Por padrão a instalação do Pervasive marca estas chaves com “NO”, porém para o problema supra citado é interessante alterarmos tal chave para “YES”, isso fara com que o arquivo seja aberto, lido e mantido em memória por algum tempo, isso evita o fechamento desnecessário do arquivo, logo não será necessário abri-lo novamente para a próxima leitura.

    A chave pode ser localizada em Computador\HEKY_LOCAL_MACHINE\SOFTWARE\Pervasive Software\MKC.

    É importante estar atento ao caminho da chave, pois o Pervasive também cria uma chave própria na WOW6432Node, porém ela não deve ser modificada.

    Reinicialização do serviço do Pervasive:

    1- Acesse o menu Iniciar > Executar e digite services.msc.

    2- Selecione o serviço Pervasive PSQL Workgroup Engine e clique em Reiniciar.

    Configurações de Pervasive em estação:

    Para maiores informações, acesse:

    I29 - Manual de configurações do Pervasive - Estação





    Outros meios de obter suporte