Histórico da Página
...
Produto: | Banco de Dados |
Versões: | Todas as Versões |
Ocorrência: | Orientações Gerais para Otimização de Performance |
Ambiente: | Banco de Dados, CorporeRM, Nova MDI. |
Passo a passo: | ORIENTAÇÃO GERAL DE PERFORMANCE Situações relacionadas a baixa performance do CorporeRM podem ter diversas origens, como: ausência de índices, bloqueios de antivírus, não-conformidades da versão, parametrizações do ambiente, dentre outras. ATUALIZAÇÃO As soluções de decorrências de problemas de baixa performance - que são caracterizados por alterações no sistema - são disponibilizadas em patch específicos. MANUTENÇÃO Realize/revise a manutenção da Base da Base de Dados conforme link abaixo: Obs.: Ocorrem alterações nas procedures correspondentes (ONLINE = ON e ONLINE = OFF, com separação por edição) NGEN O NGEN é uma ferramenta que melhora o desempenho de aplicativos gerenciados. Ngen cria imagens nativas, que são arquivos que contém o código de máquina específico do processamento compilado e as instala no cache de imagem nativa do computador local. O tempo de execução pode usar imagens nativas do cache em vez de usar o compilador JIT (Just-In-Time) para compilar o assembly original. http://tdn.totvs.com/pages/releaseview.action?pageId=235601768 Obs.: Em determinados cenários, a execução do NGEN pode ser estender por vários minutos, sendo assim, recomendamos que a execução seja realizada fora do horário de produção. DELIMITAÇÃO DE REGISTROS NA VISÃO A quantidade de registro definida para visão, pode ser caracterizado como um ofensor para performance. Recomendo que altere para 1000 a quantidade de registros na visão, conforme resultado da seguinte consulta SQL: http://tdn.totvs.com/pages/releaseview.action?pageId=489764485 Tal cenário é importante uma vez que os registros em visão raramente são gerenciados pelo usuário. A montagem da visão difere por exemplo da construção de um relatório, que explora o potencial de processamento analítico de dados, podendo lidar com volumes maiores. Os registros carregados na visão do produto, quando superior a mil registros, podem ocasionar consumo elevado de memória e CPU nos servidores de aplicação, client e Banco de Dados ocasionando overhead destas camadas. ISOLAMENTO DA BAIXA PERFORMANCE (TESTE LOCAL)
BAIXA PERFORMANCE EM UM PROCESSO ESPECIFICO Caso a lentidão ocorra especificamente em um processo (ex.: espelho de ponto, integração bancário, dentre outros) e não acarrete em uma baixa performance generalizada. 1. BANCO DE DADOS 1.1 AUTO CREATE STATISTICS Auto Create Statistics – Configurada como True, as estatísticas de índice são automaticamente criadas, sempre que você criar um índice, o SQL Server cria um conjunto de estatísticas sobre os dados contidos dentro do índice. O otimizador de consulta utiliza essas estatísticas para determinar se ele deve ou não utilizar o índice para ajudar a processar a consulta. Devido a característica das aplicações da linha RM, pode ser benéfico para o desempenho de relatórios e outros itens customizados que eventualmente demandem filtros específicos que não são compreendidos por índices padrões do produto, bem como em melhorias de planos de execução ineficientes. Por padrão o backup de nossa base vazia, utilizada normalmente para implantação possui este parâmetro desmarcado para não gerar estatísticas em todas as tabelas. No entanto, esta é uma opção do banco de dados que poderá ser utilizada em cenários específicos de análise de desempenho mensurando o impacto, custo de manutenção e resultados obtidos com a utilização deste parâmetro como TRUE. A Microsoft recomenda a utilização deste parâmetro como TRUE por default.
Atenção: Favor realizar o procedimento acima em ambiente/base de teste e somente após avaliar os resultados aplicar em produção. 1.2 - MANUTENÇÃO
Obs.: Ocorrem alterações nas procedures correspondentes (ONLINE = ON e ONLINE = OFF, com separação por edição) 1.3 – ISOLAMENTO E VIRTUALIZAÇÃO
Em relação a virtualização do ambiente de banco de dados, temos alguns pontos de atenção relacionados a características desta camada que tem alta demanda por ciclos de CPU, memória e IOPS, o que somado ao overhead natural do ambiente virtualizado pode gerar gargalos de processamento. Apesar de não recomendarmos, a virtualização é uma opção de escolha do cliente, caso disponha de uma equipe especializada, pode-se obter resultados de desempenho próximos de um sistema físico. Recursos:
Licenciamento
Administração
Afim de evitar contenção no mesmo, a Microsoft recomenda que se o número de processadores lógicos for menor ou igual a oito processadores, use o mesmo número de processadores lógicos para os arquivos de dados. Se o número de processadores lógicos for maior que oito, use oito arquivos de dados, se a contenção persistir poderão ser adicionados novos datafiles de 4 em 4 até o número de processadores lógicos.
Atenção: Esse avaliação deverá ser realizada pelo DBA da empresa.
2.1 LATÊNCIA E REDE
Também recomendo que os seguintes componentes sejam desativados:
IPV6 Inativação dos componentes IPV6 da placa de rede para aprimoramento do trafego de informações via IPV4. 2.2 BALANCEAMENTO NATIVO
Observações:
2.3 JOBS 2.3.1 AJUSTE DO POOLING DO SERVIDOR DE JOB O Job Server (Servidor de Jobs) utiliza um sistema de Pooling, onde a aplicação realiza a leitura da fila de Jobs existente no banco de dados. Esta leitura ocorrerá conforme o tempo configurado na tag <JobServerPollingInterval> do arquivo Alias.dat. Desta forma, a cada X segundos o mecanismo de job verificará a existência de Jobs pendentes de execução. Existindo processos a serem executados e threads simultâneas disponíveis, o processo será executado. Recomendamos que o valor da tag JobServerPollingInterval seja igual a 2. Essa parametrização pode ser realizada através do campo ‘Intervalo entre verificações (polling) do Gerenciamento de Alias. Diretório: C:/Totvs/CorporeRM/RM.Net/ RM.AliasManager.exe
Obs.: Em ambiente com instalação local, essa parametrização não é necessária.
Na decorrência da execução de processo que não são executados (0% processamento), recomendo que leitura dos seguintes artigos: RM - Frame - Processos não executam Observações:
2.4 FRACIONAMENTO DE PROCESSOS. O fracionamento de processos, é um recurso que possibilita uma melhora na execução de determinados Jobs. Sendo assim, recomendo que utilize o ‘Fracionamento de processos’ para os seguinte itens:
http://tdn.totvs.com/display/public/LRM/DT_Fracionamento_Calculo Porém tal parametrização poderá acarretar em um maior consumo de recursos do Banco de Dados, já que determinados processos serão fracionados e executados em simultâneo no Banco de Dados. Em paralelo o processo deverá ser monitorado quanto ao tempo total de execução, e o Banco de Dados em relação a consumo de recursos. Referente ao ‘Fracionamento de Processos’, recomendamos o acompanhamento da equipe infra da empresa, devido a necessidade de monitoramento de recursos do servidor de Banco de Dados. Obs.: Em caso de dúvidas, relacionadas a parametrização indicada, recomendo que entre em contato com o suporte do RM Labore.
Em determinados cenários, a baixa performance do sistema pode ser ocasionada pelo consumo excessivo de recursos, seja pelo serviços RM.Host.Service ou aplicações de terceiros. Para comprovar a relação do consumo excessivo (RM.Host.Service) e a performance, realize um teste reiniciando os serviços correspondentes. RM - Frame - Reiniciar Host e Apagar _Broker.dat
Caso verifique um consumo excessivo dos serviços RM.Host.Service, que comprovadamente onera a performance do sistema, favor entrar em contato com suporte RM Framework.
Por segurança a maioria dos antivírus realizam as verificações em tempo real nos diretórios TOTVS e Banco de Dados, prejudicando qualquer execuções e/ou gravação a serem realizadas nos diretórios. Deste modo é aconselhável tratar os diretórios abaixo como exceção, em todos ambientes que possuem a estrutura instalada: Linha RM
OBS.: E todos os diretórios referentes a instalação do produto. 2.7 WINDOWS O objetivo deste documento é listar uma série de procedimentos referentes à configurações e ajustes no sistema operacional e no .net framework com o intuito de se maximizar a performance das aplicações da linha RM. http://tdn.totvs.com/pages/releaseview.action?pageId=23375634 |
Observações: | OBSERVAÇÃO |