Histórico da Página
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.
...
02. Lentidão isolada em uma rotina / um processamento específico do SIGAEST / SIGAACD
...
Column | |||||
---|---|---|---|---|---|
|
Column | ||
---|---|---|
| ||
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)
...
...
ou Harpia)
...
...
...
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
- Critérios que devem ser avaliados pontualmente de acordo com a rotina/processamento problemático:
03. Levantamento de insumos para análise do Suporte Técnico
Providencie criteriosamente os insumos solicitados na Aba 1ª ETAPA para enviar pra análise do Suporte Técnico. Providencie os artefatos e envie já na abertura do ticket.
Após o analista ténico analisar os insumos, caso não sejam suficientes para rastrear as possívis causas do problema, somente então, será solicitado o levantamento de insumos da Aba 2ª ETAPA.
...
id | 001 |
---|---|
tabLocation | left |
...
label | 1ª ETAPA de análise técnica |
---|
ffffffffffffffffffffffffffff
...
label | 2ª ETAPA de análise técnica |
---|
ggggggggggggggggggggggggg
OBSERVAÇÃO
Favor avalie pois é possível que seja reproduzido apenas com sua estrutura de Hardware / Rede; e se for uma limitação de estrutura neste caso, não é caracterizado uma falha no Produto de forma a direcionar para desenvolvimento. Se já foi analisada sua estrutura de Hardware e Rede, verifique em um ambiente de homologação se o problema é reproduzido com o ambiente atualizado de acordo com as últimas disponibilizações no Portal do Cliente e sem compilar customizações / Pontos de entrada.
IMPORTANTE
Cada questão contida no formulário e logs solicitados foram elaborados para agilizar e 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 preenchidas. Elas são essenciais para continuidade neste atendimento.
1. Gere o Profile do processo para analisarmos
A geração é de acordo com a documentação: LogProfiler - Como executar
...
Análises de performance são complexas pois envolvem uma diversidade grande de fatores e variáveis, distribuídas entre o banco de dados, configurações do ambiente, e o produto em si. Deste modo, peço sua colaboração para juntos abordarmos todos os critérios que podem estar causando o problema em seu ambiente!
- Verificações prévias para seguir em análise de performance/lentidão no Suporte:
1 - Por favor validar em ambiente de teste se o problema é simulado em ambiente devidamente atualizado com expedição contínua, procedures, binário, Appserver, LIB e DbAccess, e ambiente padrão desabilitando customizações. Para análise de performance pelo suporte é crucial que a ocorrência seja em ambiente atualizado e padrão, eliminando a possibilidade de o problema ser ocasionado devido customizações ou fontes desatualizados que não contemplas as últimos correções.
2 - Favor avalie junto à sua equipe de infraestrutura e DBA pois é possível que o problema seja reproduzido apenas com sua estrutura de Hardware / Rede, bem como, especificamente com sua base de dados; e se for uma limitação de estrutura/banco de dados, neste caso, não é caracterizado uma falha no Produto de forma a direcionar o caso para correção.
- Caso se certifique de a ocorrência não ser sanada com as recomendações acima, prossiga com a análise do ambiente:
1 - Verifique o boletim FRAME - Lentidão no Protheus 12 e siga criteriosamente as recomendações para validação do ambiente Protheus
2 - Efetuar a configuração correta do arquivo Dbapii.dll
3 - Utilizar a ferramenta MALLOC-IO (onde aloca a memoria para ganho de performance)
4 - Utilizar a chave DBPulse ativa, caso o ambiente esteja em um servidor Cloud
5 - Validar o comportamento em ambiente teste com os dicionários de dados (SXs) padrões.
6 - Solicitar o apoio de um DBA para acompanhar a execução da rotina e verificar os possíveis pontos de manutenção no data-base para otimizar o processamento, caso sua base de dados esteja em um banco de dados e não em CTREE.
- Caso se certifique de a ocorrência não ser sanada com as recomendações acima, prossiga com a análise do processamento rotina:
1 - Validar se os registros do banco de dados estão consistentes. Exemplo: se as tabelas SB2, SB9, SB6, SD1, SD2 e SD3 entre outras, não estão com campo de código, filial e armazém em Branco (se existir é necessário manutenção, junto ao DBA responsável)
2 - Avaliação das principais parametrizações relacionadas à Performance: MV_M330THR, MV_M330JCM, MV_THRSEQ, MV_A330GRV, MV_A330DRV conforme detalhes aqui
- Caso se certifique de a ocorrência não ser sanada com as recomendações acima, prossiga com a preparação do ambiente e forneça os seguintes artefatos para análise do Suporte:
1 - Print do arquivo DBAPI.dll nas pastas DBAcess e Appserver;
2 - Print do Select realizado nas tabelas SB2, SB9, SB6, SD1, SD2 e SD3 conforme abordado acima;
3 - Print da tela de geração do MALLOC-IO
4 - Sua tabela SX6 em formato .dtc
5 - Tabela CV8 completa em formato .dtc filtrada com CV8_PROC = Nome da rotina
6 - Gerar Logprofiler + Dbtrace para coleta do processamento de execução da rotina, conforme boletim: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360019902592-Cross-Segmento-Backoffice-Linha-Protheus-SIGAEST-Como-habilitar-e-gerar-o-LogProfiler-
IMPORTANTE
Cada questão contida no formulário e logs solicitados foram elaborados para agilizar e 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 preenchidas. Elas são essenciais para continuidade neste atendimento.
02. Necessidades.
- Avaliação Nivel de Suporte Técnico do cliente (equipe de infraestutura/ T.I )
- Acesso ao Banco de dados / Dbaccess / Logs
03. Primeira camada de analise.
Caso tenham efetuado ajuste no tamanho de campos, valide se os campos de custos e quantidades, estão com tamanhos uniformes, é importante que os campos decimais tenham o mesmo tamanho e decimais, abaixo uma relação dos campos de custos.
Aviso |
---|
O erro "Erro na chamada do processo" em processamento de rotinas ADVPL (Advanced Protheus Language) com procedures no banco de dados geralmente indica um problema durante a execução de um processo que envolve a chamada de uma procedure no banco de dados. A mensagem de erro sugere que houve uma falha ao chamar ou executar um procedimento armazenado (procedure) no banco de dados a partir do código ADVPL. Várias razões podem causar esse tipo de erro, e a resolução pode depender do contexto específico da aplicação e do ambiente de execução. |
Valide se a rotina em questão utiliza THREADS, caso utilize, efetue o teste sem a utilização de threads.
Exemplo:
-Custo médio > parametro MV_M330THR, deixar como 1.
1º Desinstale a procedure da rotina em questão.
Efetue a desinstalação da procedure da rotina com erro, para que realize o processamento da rotina sem a procedure, e então constatar se o erro esta somente relacionado a procedure ou não, e caso seja gerado error.log durante o processamento da rotina, basta anexar o arquivo para avaliação do suporte.
Descobrindo qual é a procedure referente a rotina, através do configurador da gestão de procedure:
(SIGACFG > Base de dados > Dicionario > Stored Procedure, aqui vamos supor que o Erro na chamada do processo, ocorre na rotina de custo médio, então desinstalar a procedure 19.
O erro mais comum nesses casos, é vinculado ao Estouro de campo (Como avaliar o estouro e corrigir):
2º Valide se a procedure e rotina estão atualizadas.
Verifique se a rotina e sua procedure vinculada a mesma, estão contempladas das ultimas atualizações, disponibilizadas no portal do cliente, pois o processo que esteja enfrentando, ja pode ter sido mapeado e corrigido, então efetue a reinstalação da procedure conforme passos abaixo e realize um novo teste.
- 1passo Acumulado SIGAEST conforme sua versão (Acumulado estoque)
- 2passo https://suporte.totvs.com/portal/p/10098/download?e=946864 (Versão da central de procedure)
- 3passo Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Procedure Desatualizada e Incompatível, quais as diferenças? É possível utilizar as rotinas? (Processo para REINSTALAR as procedures, sem necessidade de DESINSTALAÇÃO)
Efetuar o Backup antes da atualização.
Todos os procedimentos devem ser realizados primeiro em ambiente TESTE atualizado.
04. Procedimentos.
...
default | true |
---|---|
effectDuration | 0.5 |
id | ProcessoEST1 |
label | ProcessoEST1 |
title | ProcessoEST1 |
effectType | slide |
...
effectDuration | 0.5 |
---|---|
id | ConfiguraçãoEST |
label | ConfiguraçãoEST |
title | ConfiguraçãoEST |
effectType | slide |
...
effectDuration | 0.5 |
---|---|
id | FuncionalidadesEST |
effectType | slide |
...
default | true |
---|---|
effectDuration | 0.5 |
id | Ambiente ON-PRIMESE |
label | Ambiente ON-PRIMESE |
title | Ambiente ON-PRIMESE |
effectType | slide |
- Sugerimos executar o teste em ambiente de homologação, com NORUN ativado se possivel, e preferencialmente de forma exclusiva para facilitar a coleta dos logs corretos.
- Habilite a chave "TRACESTACK=1" no seu arquivo appserver.ini (clique aqui para mais informações).
- Acessar a aba de mensagens do DBMonitor e clique em limpar, depois em Sim
- Efetue a limpeza também do arquivo console.log e dbaccess.log em suas respectivas pastas. (abaixo exemplo de onde os arquivos se encontram no ambiente padrão, validar em seu ambiente)
DBACCESS.LOG
CONSOLE.LOG
- Em seguida, acesse a rotina que ocorre o Erro na Chamada do Processo, e ative o rastreio do DBMONITOR e execute a mesma até apresentar o erro (aqui vamos demonstrar o recalculo de custo medio)
Abra o Dbmonitor > Clique em Rastrear > Selecione o usuario e Rotina ja abertas, e ficara assim a sua tela.
- Após ativar o rastreio, execute a rotina até gerar o erro, salve o Dbtrace e log da aba de mensagens.
...
- Com os dados coletados, anexe e envie para avaliação do time de suporte tecnico, juntamente do inspetor de objetos, da seguinte maneira como exemplo:
Olá Suporte,
Estou enfrentando o Erro na chamada do processo, ao utilizar a rotina (Nome da rotina), e ja segui o procedimento do boletim (Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Erro na chamada do processo em rotinas de Processamento), porém sem sucesso, segue anexos:
-Dbtrace; Dbconsole.log; Console.log; Dbaccess.log; Inspetor de objetos
- E TAMBÉM O ARQUIVO DA PROCEDURE DE SUA BASE DE DADOS, SOLICITAR APOIO AO SEU DBA PARA COLETA DESSE ARQUIVO(CORPO DA PROCEDURE COM ERRO), ABAIXO SEGUE EXEMPLO DE COMO COLETAR NO SQL-MANAGEMENT
...
effectDuration | 0.5 |
---|---|
id | Ambiente CLOUD-TOTVS |
label | Ambiente CLOUD-TOTVS |
title | Ambiente CLOUD-TOTVS |
effectType | slide |
Olá Suporte,
Estou enfrentando o Erro na chamada do processo, ao utilizar a rotina (Nome da rotina), porém meu ambiente é CLOUD e não tenho acesso aos logs para realização de coleta de dados.
Segue dados do ambiente:
(ATENÇÃO: O suporte só efetuara a avaliação somente em ambiente de Homologação, portanto sugerimos que o cenario esteja apresentado em ambiente de homologação, e caso não esteja, deve-se solicitar a replica do ambiente de produção para o ambiente de homologação, de forma que possamos prosseguir com as analises )
Ambiente teste deve estar configurado em modo EXCLUSIVO.
-Nome do ambiente
-Arquivo Smartclient.ini do ambiente que esta acessando
-Informar qual a "Comunicacao do cliente" esta usando (ex: TCP)
-ID do ambiente
-Nome e código da filial que se encontra com o erro
-nome de usuário e senha adm https://getmypassword.cloudtotvs.com.br/ (sugerimos um usuario para o suporte, informe a senha desse usuario no link, não é para gerar uma senha exemplo de como colocar abaixo, para termos a senha do USUARIO de acesso ao ambiente)
...
Importante: Aqui estão listados alguns exemplos recorrentes, porém, não há como indicar com precisão qual o dado incorreto em sua base, sem a devida análise.
Em alguns casos sera necessário que analise os dados gravados no banco (obs: essa análise de registros no banco não é contemplada pelo atendimento de Suporte técnico na modalidade padrão. Havendo necessidade de análise da base, na falta de uma equipe interna de TI, recomenda-se a solicitação de consultor à seu ESN).
É importante esclarecer que o Suporte Técnico visa análise de possíveis Inconsistências / não conformidades no Produto. Para possíveis inconsistências de dicionário ou de base, o atendimento deve ser avaliado em modo de Consultoria (mais detalhes sobre o escopo de atendimento do Suporte e Consultoria, aqui: Modalidades e Escopo de Atendimento do Suporte Técnico). Após eliminar as principais causas aqui mapeadas, havendo necessidade de acionar o Suporte técnico, envie o parecer de cada etapa abordada neste documento no ticket.
05. ASSUNTOS RELACIONADOS
...
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:
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
Dica | ||
---|---|---|
| ||
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. |
Deck of Cards | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|