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) ENABLECOMPRESSION (N CAMADAS) O RM tem um mecanismo de compressão de dados que é usado com o objetivo de melhorar a performance do sistema, no trafego de dados entre cliente e servidor. É importante lembrar que o custo para compactação e descompactação dos dados em redes Gigabits, pode ser superior a transferências sem a compactação.
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.
Caso a principal suspeita recaia sobre a atualização de versão, recomendamos que realize um teste em ambiente local, utilizando o patch especifico anterior. 1. BANCO DE DADOS 1.1 NÍVEL DE COMPATIBILIDADE Considere também as seguintes obervações sobres os níveis 130 e 140: BD0026_Nível_de_Compatibilidade_SQL_Server_2016_(130)
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.3 - MANUTENÇÃO
Obs.: Ocorrem alterações nas procedures correspondentes (ONLINE = ON e ONLINE = OFF, com separação por edição) 1.4 – 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:
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. 2.5 CONSUMO DE RECURSOSEm 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 Vale ressaltar que a ausência de recursos, pode ser atrelada ao sub-dimencionamento do ambiente, sendo necessário o enquadramento de hardware ao documento de portabilidade:http://tdn.totvs.com/display/public/LRM/PORTABILIDADE 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. 2.6 ANTIVÍRUSPor 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
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 2.8 ISOLAMENTO DO SERVIDOR DE APLICAÇÃO Recomendamos que o Servidor de Aplicação, seja utilizado exclusivamente para prover a Camada de Aplicação, salve casos, onde a recomendação parte do suporte CorporeRM. Obs.: Caso possível, realize a instalação do TAF em outro servidor ou localmente, mantendo o Camada de Aplicação do CorporeRM isolada. 2.9 - CAMADA SOBREPOSTA (SERVIDOR DE TS COM INSTALAÇÃO LOCAL)Quando a arquitetura adotada pelo cliente é definida como local e utiliza-se um servidor de TS, caracteriza-se assim, uma camada sobreposta Neste desenho onde camadas de TS e APP estão sobrepostas, existe certa vulnerabilidade em relação a desempenho, uma vez que a camada APP que é uma camada de processamento, pode gerar um overhead sobre a camada de TS (Apresentação) ocasionando a percepção de lentidão generalizada em momentos de maior utilização do ambiente. Recomendo que inicie uma avaliação ou os ajustes necessários para adequação ao Ambiente N Camadas do CorporeRM: Configuração N Camadas Vantagens: Dados inconsistentes e (ou) registros em excessos, nas tabelas de execução de processos, poderão acarretar em cenários de baixa performance: 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 2.8 ISOLAMENTO DO SERVIDOR DE APLICAÇÃO Recomendamos que o Servidor de Aplicação, seja utilizado exclusivamente para prover a Camada de Aplicação, salve casos, onde a recomendação parte do suporte CorporeRM. Obs.: Caso possível, realize a instalação do TAF em outro servidor ou localmente, mantendo o Camada de Aplicação do CorporeRM isolada. 2.9 - CAMADA SOBREPOSTA (SERVIDOR DE TS COM INSTALAÇÃO LOCAL)
2.10 - SMARTCLIENT |
Observações: | OBSERVAÇÃO |