Qual o objetivo?


    Orientar o usuário na realização do procedimento de Performance Tunning no Pervasive do servidor.


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

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

    É  importante que seja feita análise do ambiente para melhor entendimento das configurações ideias. Em caso de dúvida, contate o suporte.

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

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


    Como executar o Performance Tunning:


    1- Acesse o Menu Iniciar do Windows, digite PCC e acesse-o.

    2- Clique em Configure Local Engine.

    Guia Acess:


    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 a 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 acerca 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.

    Guia Directories:


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

    Guia 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. Dessa forma, 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 Tunning:


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

    • Index Balancing: normalmente esta opção deve ser desativada. Apesar do balanceamento ser importante, o processo pode ser oneroso.
    • Limit Segment Size to 2 GB: 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 à 2 GB e, 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 16384 MB de RAM no servidor e este servidor é dedicado ao Gerenciador de Aplicativos Prosoft - GAP, definir 50% (8192 MB) de RAM é adequado.

    • Number of Input/Output Threads: neste campo é necessário preencher com o número de núcleos do computador ou de cores da máquina virtual.
    • 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 análise 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 forçará o banco a ficar criando novas páginas o tempo todo.

    Alteração no registro do Windows:


    Devido ao modo de trabalho do Pervasive, é possível identificar lentidão em situações onde várias leituras são feitas em um mesmo arquivo e 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 fará 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. Entretanto, ela não deve ser modificada.


    Reinicialização do serviço do Pervasive:


    Para que as alterações sejam gravadas, é necessário reiniciar o 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.

    3 - Caso durante a reinicialização do serviço do Pervasive ocorra o erro 1053 ou 8591, será necessário parar os serviços Prosoft antes da reinicialização/inicialização do serviço.

    Para mais informações, acesse: I435 - Erro 1053 ou 8591 ao iniciar o serviço do Pervasive






    Outros meios de obter suporte