O objetivo deste documento é orientar o autoatendimento para sanar problemas de baixa performance.
Bem como, conduzir no levantamento de dados para análise técnica no intuito de rastrear as causas e possíveis formas de tratar.
01. LENTIDÃO GENERALIZADA NO SISTEMA
- Avalie se a baixa performance é generalizada ao processar grandes volumes de dados, ou se a lentidão ocorre isoladamente em determinada rotina / determinado processamento. Isso irá indicar se a origem do problema está no código fonte de uma rotina, ou, se está em artefatos estruturais e de Tecnologia, norteando a análise.
- Caso a lentidão não seja isolada em uma rotina / um processamento específico, então, é primordial analisar criteriosamente os fatores abordados no material: Framework - Lentidão no Protheus
- Você poderá solicitar apoio de sua TI para análise de Infra local, e apoio de seu administrador do sistema para análise da estrutura do Protheus.
- Você poderá solicitar Suporte Técnico da área de Framework Protheus, caso necessário, e acionar a área de Cloud se seu ambiente estiver armazenado no DataCenter da TOTVS.
Dica
Se o problema de performance for causado devido à limitações de estrutura/banco de dados, neste caso, não é caracterizado uma falha no Produto (de forma que caiba direcionar o caso para correção). Para apoio no diagnóstico e manutenções de seu ambiente e base, caso não possua equipe de DBA / TI Infra, contate a TIS nossa área especializada TOTVS Infra-Services. Conheça também nossas soluções de Delivery Center.
02. LENTIDÃO ISOLADA EM UMA ROTINA | PROCESSAMENTO ESPECÍFICO
Alguns fatores preciam ser previamente validados, uma vez que, frequentemente são a causa da lentidão. Execute cada um dos passos a seguir (preferencialmente em um ambiente/base de testes no qual seja simulada a lentidão - copiados de ambiente produção).
2.1 Realize as principais atualizações do sistema e confira se o problema é apresentado, mesmo num ambiente todo atualizado, para descartar que seja essa a causa do problema.
DBccess | Appserver e Smartclient (Lobo Guará ou Harpia)
LIB (Logo Guará ou Harpia) | Central de Atualizações
Acumulado expedição contínua módulo SIGAEST | Acumulado expedição contínua demais módulos
2.2 Desative as customizações do ambiente e confira se o problema é apresentado, mesmo num ambiente todo padrão, para descartar que seja essa a causa do problema. Desativar impreterivelmente pelos 3 métodos: Como desativar customizações no Protheus
2.3 Verifique as personalizações de seus dicionários e confira se o problema é apresentado, mesmo com dicionários de dados (SXs) nativos, ou seja, realize um teste com os dicionários (completo e diferencial) oficiais disponibilizados no Portal de Downloads sem quaisquer personalizações. Esse procedimento visa identificar se a lentidão ocorre isoladamente em decorrência de alguma particularidade personalizada em seus dicionários, de modo a refinar o foco da análise.
- Personalizações elaboradas sem o devido critério.
Ex: Uso da função GETSXENUM no Inicializador padrão do B1_COD para atribuir numeração automática. - Alterações no nível de campos, marcação de "usado" e posicionamento de campos travados no CFG.
- Alteração no compartilhamento de tabelas e demais mudanças estruturais não apropriadas.
- Personalizações elaboradas sem o devido critério.
2.4 Critérios que devem ser avaliados pontualmente de acordo com o cenário problemático:
A lentidão ocorre somente com Stored procedures ativas no Banco? Stored Procedures são comandos via código que tem a finalidade de otimizar a busca no banco de dados de determinadas informações. A TOTVS sugere algumas stored procedures para agilizar a interação de determinadas rotinas com o Banco de Dados. O uso é facultativo e requer a gestão de um DBA para monitoramento, adequação e manutenções que se façam necessárias, tanto nos códigos, quanto no Banco para o devido funcionamento. Se a lentidão ocorrer apenas com a utilização de procedures no Banco, então é fundamental solicitar inicialmente a seu DBA que efetue um monitoramento do processamento da rotina via Banco para diagnóstico. Atenção Caso o DBA indique alguma necessidade de análise pontual da aplicação Protheus - Estoque e Custos / ACD, é necessário acionar o Suporte Técnico por meio de um novo ticket, encaminhando o relatório de análises e manutenções realizadas, índices e querys monitorados e respectivo diagnóstico; bem como, o envio dos insumos solicitados na seção '03 - LEVANTAMENTO DE INSUMOS PARA ANÁLISE DO SUPORTE TÉCNICO'. Neste caso, a análise é realizada na modalidade de Consultoria. Importante Os procedimentos de análise, diagnóstico e manutenções no banco são de responsabilidade do DBA da empresa. Caso não possua um DBA em seu time de TI interno, a TOTVS disponibiliza o serviço através da área TIS - TOTVS Infra Services. Solicite um orçamento por meio deste contato. |
- Testar se a performance é otimizada com a configuração de parâmetros: MV_M330THR=1 e MV_M330JCM= em branco
- Valide a necessidade de usar o parametro MV_A330GRV caso esteja ativo. Este parâmetro é recomendado para clientes que possuem uma quantidade de registros na tabela SB2 superior a 10 mil registros, pois ele evita o processamento desnecessário de produtos/armazém obsoletos que não tem necessidade de recálculo. Para uma melhor performance o parâmetro deve estar configurado com o conteúdo igual a .F. (False).
Caso utilize os pacotes de stored procedures para execução da rotina é recomendada a reinstalação das SP's após a alteração deste parâmetro, sem esta ação o objetivo de melhora no desempenho não será atingido. - Utilizar as procedures referente a rotina e certificar-se de que estejam atualizadas (Stored Procedures Estoque)
- O parametro MV_MOEDACM considera o cálculo no padrão para 5 moedas de forma simultânea. Caso não tenha necessidade de calcular moedas estrangeiras, considerar o conteúdo do parametro em branco e avaliar se há otimização no desempenho.
- Verificar os pontos detalhados no material: MATA330 - Como melhorar a performance da rotina de Recálculo do Custo Médio
Em construção.
Em construção.
Em construção.
Em construção.
03. LEVANTAMENTO DE INSUMOS PARA ANÁLISE DO SUPORTE TÉCNICO
Providencie criteriosamente os insumos solicitados abaixo na Aba 1ª ETAPA para enviar pra análise do Suporte Técnico. Providencie os artefatos e envie já na abertura do ticket.
Importante
Se seu ambiente estiver armazenado no Cloud da TOTVS, e você não tiver acesso para obter algum dos insumos abaixo solicitados, através da plataforma TCloud, então, acione primeiramente o Suporte Cloud solicitando a geração dos insumos. Com eles disponíveis, então solicite o Suporte Técnico da área enviando os dados levantados.
➡️ FORNECER AS SEGUINTES INFORMAÇÕES: 1. A lentidão ocorre isoladamente em qual processamento? (Exemplo: ocorre isoladamente no processamento do custo médio) ➡️ PROVIDENCIAR OS SEGUINTES INSUMOS: 1. Gerar o LogProfiler para coleta do processamento de execução da rotina, exatamente conforme o boletim: SIGAEST LogProfiler (Obs: Caso seu ambiente possua Load Balance Balanceamento de carga certifique-se de isolar um servidor para efetuar os testes de performance) |
Análises de performance podem ser complexas, pois envolvem uma diversidade grande de fatores e variáveis, distribuídas entre:
Banco de dados | Configurações e características estruturais do ambiente | Produto em si (códigos padrões do sistema)
Deste modo, caso o analista de Suporte Técnico realize a primeira etapa de análise e os insumos não forneçam indícios concretos da causa do problema, estão será necessário seguir os passos listados a seguir:
- Verifique o boletim FRAME - Lentidão no Protheus 12 e siga criteriosamente cada uma das recomendações para validação do ambiente Protheus
- Certifique-se de estar utilizando um Banco de dados homologado para o Protheus
- Efetue a devida configuração e atualização dos arquivos Dbapii.dll nas pastas DBAcess e Appserver
- Utilize a chave DBPulse ativa, caso o ambiente esteja em um servidor Cloud, e avalie se há resultado sobre o tempo de processamento
- Caso o ambiente esteja em seu servidor On-Premise, certifique-se de possuir a estrutura mínima recomendada: Instalação de Protheus em On Premise
- Verifique como está configurada a conexão do ambiente no ODBC. Para melhor performance recomenda-se que seja criada com o driver SQL Server Native Client
- Valide o comportamento obtido em ambiente teste com os dicionários de dados (SXs) nativos, inclusive compartilhamento de tabelas. Ou seja, utilizando os dicionários (completo e diferencial) oficiais disponibilizados no Portal de Downloads sem quaisquer personalizações. Esse procedimento é essencial e visa identificar se a lentidão ocorre isoladamente em decorrência de alguma particularidade personalizada em seus dicionários, de modo a refinar o foco da análise.
- Identifique se a queda no desempenho ocorre especificamente em determinado período do dia. Caso sim, verifique se nesse horário está planejada a execução de algum processamento pesado, como por exemplo Job’s do TSS, Contabilização Off-Line, Reprocessamentos e etc.
- Solicite o apoio de um DBA* para acompanhar a execução da rotina e verificar os possíveis pontos de manutenção em seu data-base para otimizar o processamento, caso sua base de dados esteja em um banco de dados e não em CTREE.
- Solicite o apoio de um DBA* para validar a integridade de seus registros no banco de dados. Dados inconsistentes gravados na base frequentemente produzem efeitos inesperados no processamento (Ex: dados incorretos em tabelas consultadas para o processamento em questão, como SB2, SB9, SB6, SD1, SD2 e SD3 etc. Campos obrigatórios gravados sem conteúdo, como código, filial, armazém, etc.)
- Solicite o apoio de sua TI Infra* para diagnostifar sua estrutura de Hardware / Rede e latência (conheça as funcionalidades U_NETTEST e SCPing).
* Se o problema de performance for causado devido à limitações de estrutura/banco de dados, neste caso, não é caracterizado uma falha no Produto (de forma que caiba direcionar o caso para correção). Para apoio na análise e diagnóstico de seu ambiente e base, caso não possua equipe de DBA / TI Infra, contate a TIS nossa área especializada TOTVS Infra-Services.
ESSA SEGUNDA ETAPA DE ANÁLISE PODE SER REALIZADA PELO SUPORTE TÉCNICO TOTVS ATRAVÉS DA MODALIDADE DE CONSULTORIA DO SUPORTE
Para isto, é necessário que envie ao Suporte o seu parecer acerca de cada item listado nesta etapa, e envie também os seguintes logs para análise:
- Trace.log
- TraceStack
- Trace SQL Server (quando Stored Procedures ativas)
- Trace Oracle (quando Stored Procedures ativas)
Cada questão e log solicitados foram elaborados para prover uma análise assertiva e criteriosa em ocorrências de performance. Por isso, havendo dúvidas, solicite apoio à seu time de TI para que todas as questões sejam devidamente respondidas. Elas são essenciais para o atendimento.