Árvore de páginas

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

  1. 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.
  2. 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
  3. 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.
  4. 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.



02. LENTIDÃO ISOLADA EM UMA ROTINA | PROCESSAMENTO ESPECÍFICO NO SIGAEST

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).


1. Realize as principais atualizações do sistema e confirar se o problema é apresentado, mesmo num ambiente todo atualizado, para descartar que seja essa a causa do problema.


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


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.


4. Critérios que devem ser avaliados pontualmente de acordo com a rotina/processamento problemático:

    • 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)

      2. Qual o atual tempo de processamento, para qual quantidade de registros? E qual a sua expectativa de tempo considerável para esse mesmo volume de dados?

      3. Quando a lentidão começou nesse processamento? Sempre existiu ou foi a partir de 'alguma mudança em sua estrutura do sistema' / 'alguma atualização específica aplicada'?


      PROVIDENCIAR OS SEGUINTES INSUMOS:

      (Obs: Caso seu ambiente possua Load Balance Balanceamento de carga certifique-se de isolar um servidor para efetuar os testes de performance)


      1. Gerar o LogProfiler para coleta do processamento de execução da rotina, exatamente conforme o boletim: SIGAEST LogProfiler

      2. Gerar o Log DBTrace para coleta do processamento de dados, exatamente conforme o boletim: OINF0001 - DBTrace

      3. Extrair o Inspetor de objetos "Exportar dados", extamente conforme a instrução: Exportar Dados - Linha Protheus

      4. Capturar e enviar a tela de geração MallocIO  (alocação de memória)


      • Enviar a tabela CV8 completa em formato .dtc filtrada com CV8_PROC = Nome da rotina (Obs: efetuar pela rotins legado, MATA330)
      • Informar se utiliza Stored Procedures ativas, e qual o comportamento obtido sem procedures.
      • Enviar o Trace/Log para análise no desempenho da integração contábil: MV_CONOUTR

      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:


      1. Verifique o boletim FRAME - Lentidão no Protheus 12 e siga criteriosamente cada uma das recomendações para validação do ambiente Protheus
      2. Certifique-se de estar utilizando um Banco de dados homologado para o Protheus
      3. Efetue a devida configuração e atualização dos arquivos Dbapii.dll nas pastas DBAcess e Appserver
      4. Utilize a chave DBPulse ativa, caso o ambiente esteja em um servidor Cloud, e avalie se há resultado sobre o tempo de processamento
      5. 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
      6. 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
      7. 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.
      8. 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.
      9. 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.
      10. 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.)
      11. Solicite o apoio de sua TI Infra* para diagnostifar sua estrutura de Hardware / Rede e latência (conheça a funcionalidade U_NETTEST).

      * 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:


      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.