ERP - WebServices - Problemas de performance relacionados ao acesso à tabela E000CIX devido as pendências de integração ativados na tabela E000SXT
Incidente
Durante a utilização de diversas rotinas do sistema, é possível perceber lentidão e/ou perda de performance em rotinas que fazem acesso à tabela E000CIX, que por sua vez é populada conforme os registros que estão ativados na tabela E000SXT (equivalente aos registros da tela F000SXT - Cadastros / Integrações (1) / Configuração de Tipos de Informação).
Causa
A situação ocorre na grande maioria das vezes devido a existências de vários registros na tabela E000CIX e a ativação indevida de pendências de integração na tela F000SXT - Cadastros / Integrações (1) / Configuração de Tipos de Informação.
Solução
Para garantir uma melhor performance nos processos que podem fazer o acesso à tabela E000CIX, é necessário:
1. Limpeza de registros da tabela E000CIX
1.1. Para executar a limpeza dos registros da tabela E000CIX, parametrize o processo agendado de rotina 160. Para maiores informações sobre esse processo agendado, consulte a Documentação dos processos agendados do sistema;
Atenção
- O processo deve ser parametrizado para ser executado regularmente;
- É importante que a primeira execução desse processo agendado em um ambiente que tenha muitos registros na tabela seja realizado em um momento onde não haja grande volume de dados sendo manipulados, para evitar ainda mais a concorrência de registros nas tabelas. Além disso, para a primeira execução do processo em uma base que esteja com muitas pendências, orienta-se:
- Desativar temporariamente a execução do processo agendado de rotina 82, que trabalha com re-pendenciamento de registros de integração e faz acesso direto na tabela E000CIX;
- Desativar as integrações que acessem WebServices (porque elas vão fazer acesso a tabela E000CIX também);
- Que a execução do processo seja acompanhada por um DBA, pois poderão ocorrer alguns locks que precisem ser verificados/acompanhados.
- De forma algum deverá ser realizado comando para deletar registros da tabela E000CIX manualmente. A tabela E000CIX contém ligação com outras tabelas adicionais do banco de dados. A deleção de registros diretamente na tabela E000CIX causará inconsistências na base de dados. Deve-se utilizar o processo agendado para essa operação de limpeza
Importante
Caso você deseje identificar rapidamente quantos registros existem na tabela E000CIX, poderá executar o seguinte select na base de dados do sistema: SELECT COUNT(*) FROM E000CIX
2. Desativação de geração de pendências de integração geradas desnecessariamente
2.1. Você deve revisar as parametrizações definidas na tela F000SXT - Cadastros / Integrações (1) / Configuração de Tipos de Informação para os sistemas integrados parametrizados.
A ativação de pendências de integração indevidamente poderá acarretar em grande acesso à tabela E000CIX indevidamente, aumentando a concorrência de registros e degradando a Performance.
Importante
- É muito comum que seja acessada a tela F000SXT e sejam ativados todos os tipos de informação para vários sistemas integrados. Isso denota uma falha de parametrização, pois só devem ser ativados os tipos de informação que realmente precisam ser pendenciados para o sistema integrado que esteja sendo parametrizado;
- Para que você possa verificar rapidamente quais os tipos de integração que estejam ativados para todos os sistemas, você poderá executar o seguinte select na base de dados: SELECT * FROM E000SXT ORDER BY CODEMP, CODFIL, CODINT, IDEINT, SITREG
- A descrição dos tipos de informação registrados no campo IdeInt do comando indicado acima poderá ser verificado na Documentação do sistema. Acesse a documentação do sistema e realize a pesquisa pelo termo "Tabela dos Tipos de Informações Integradas - Sistemas Integrados".
- Para que você possa verificar rapidamente quais os tipos de integração que estejam ativados para todos os sistemas, você poderá executar o seguinte select na base de dados: SELECT * FROM E000SXT ORDER BY CODEMP, CODFIL, CODINT, IDEINT, SITREG
Observação
Para mais informações sobre o questões relacionadas a Performance/Lentidão/Travamentos do Gestão Empresarial | ERP, consulte o artigo ERP - Performance/Lentidão/Travamentos - Onde é possível encontrar informações diversas sobre questões relacionadas a Performance/Lentidão/Travamentos (índice).