Case Lentidao Sistema

Fonte: Touch ERP
Saltar para a navegação Saltar para a pesquisa

Touch_Comp_ERP

A lentidão na utilização do sistema pode ser causada por N(infinitos) fatores, mas geralmente estão ligados a estrutura da empresa e equipamentos. Como a identificação da origem é complexa, é necessário ir eliminando as devidas causas até encontrar a origem ou até origens do problema.

Para tal, você seguir o check list abaixo e assim identificar e sanar os problemas. Observe que ao identificar e resolver um item, não significa ter resolvido o problema de lentidão, uma vez que pode ter várias origens.

Para facilitar, cada checklist de cada área/item a ser analisado.

Banco de Dados

Casos de lentidão podem estar associados a inúmeros fatores. Um deles pode ser o banco de dados. Porém, investigue os demais itens e por fim verifique o banco de dados, uma vez que poucos casos ultimamente estão associados ao banco em si. A maioria dos casos relatados a Touch Comp estão associados a infraestrutura da empresa, como maquinas antigas, pouca memoria RAM, uso de rede com baixa peformance (Wifi ou cabeada 100Mbps).

Se os demais itens já foram checados, e a lentidão pode estar associada ao banco de dados, proceda:

  • Você está usando a versão mais recente do Banco de dados? Utilize ao menos a versão Firebird 3.0 e considere, a depender do seu volume de uso, migrar para uma versão paga como a HQBird, ou ainda versões mais recentes do Firebird.
  • A lentidão ocorre em horário especificos? Neste caso, verifique outras rotinas pesadas, que são inclusive executadas por outras pessoas/programas, como por exemplo processos de backup.
  • Ocorre em períodos mais quentes? Seu servidor deve estar sofrendo com temperatura alta. Verifique a temperatura do servidor, ventilação, etc.
  • Ocorrem rotinas/recursos específicos? Consulte suporte da Touch Comp para averiguação, se a rotina pode ser otimizada, ou se realmente é o tempo habitual de resposta. Algumas rotinas levam mais tempo para executar, como geração de arquivos SPED, Processamentos contáveis, Folha de Pagamento, a depender do volume de dados de sua empresa.

Se ainda, enfrentar lentidão associada ao banco como um todo, apos respostas negativas aos itens anteriores, experimente:

  • Faça a reindexação do banco de dados, pelo aplicativo de Atualização da Touch Comp;
  • Senão melhorar, realize o backup/restore pelo aplicativo de Atualização da Touch Comp ou ainda, por outros programas;

HQBird (Versão turbinada Firebird)

Se é utilizado a versão padrão do Firebird, experimente investir no HQBird que é uma versão turbinada do Firebird, com diversos recursos extras e aprimoramento de performance.

Reconfigure o Firebird

O site https://cc.ib-aid.com/, fornece opções de configuração conforme o seu servidor, banco de dados e uso. Você deve-se cadastrar para poder acessar a ferramenta.

Realize este processo sempre que houver alguma variação na sua estrutura.

Analise os comandos

Se você utiliza comandos para montar Paineis, PowerBI, é de suma importância analisar os comandos(queries) que são executadas. Afinal, estas queries são executadas frequentemente, e podem derrubar a performance do sistema e até o próprio servidor.

Crie comandos perfomáticos, conforme a necessidade. Analise a criação de índices para colunas utilizadas em queries que não são chaves, como colunas de data, status. Verifique o "where" de sua querie para localizar estas colunas, como no caso de subqueries.

... where p.data_emissao = (select max(p1.data_emissao)...

No exemplo acima, deve ser criado um indice (Index) para a coluna data_emissao.

Não existe uma regra que seja generica para todos os comandos. Uma sugestão é buscar se aprofundar nos comandos para otimizá-los. No caso do Firebird, sugerimos acompanhar o canal MQFS no Youtube. Lá existe um vasto material em português, em como otimizar as consultas.

Processador/Memória sobrecarregados (CPU 100%)

Pode ser tanto memoria sendo utilizada no seu máximo (100% de uso) e também pode ser CPU sendo usado no máximo pelo Firebird ou Java. Esses problemas podem ocasionar a queda do serviço do Wildlfy, Firebird e até do servidor.

Para resolver basta ir no IbExpert e executar o comando no SQL Editor:

 SELECT ATT.MON$USER,
     ATT.MON$REMOTE_ADDRESS,
     STMT.MON$SQL_TEXT,
     cast(STMT.MON$TIMESTAMP as timestamp)
FROM MON$ATTACHMENTS ATT
  JOIN MON$STATEMENTS STMT
    ON ATT.MON$ATTACHMENT_ID = STMT.MON$ATTACHMENT_ID
WHERE ATT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION
  AND STMT.MON$STATE = 1


Esse comando irá verificar qual processo dentro do sistema esta causando o gargalo tanto na memoria quanto no processador. É necessário o auxilio de um desenvolvedor para que seja verificado a query que está pesando o consumo de memoria/processamento.

Logo após a validação feita pelo desenvolvedor, para parar o processamento dentro do banco de dados por meio da query:

delete from mon$statements
 where mon$attachment_id <> current_connection

Servidor

Antes de qualquer situação, devemos analisar o servidor. Você pode usar o gerenciador de tarefas ou medidores no Linux para averiguar as questões abaixo

Tarefa Observação Impacto Ação
Verifique a memória disponível no servidor. Memória está acima de 85% de uso? Significa que o servidor está estourando a memória. Nestas situações, o servidor começa a usar mais HD e processador, deixando muito lento o sistema Muito alto Aumentar a memória ou diminuir o número de processos ativos no servidor.
Verifique o espaço disponível em disco Pouco espaço em disco derruba a performance e ainda provoca erros incomuns Muito alto Aumente o espaço em disco, excluindo arquivos por exemplo.
Verifique a capacidade do processador Processadores com baixa capacidade de processamento, implicam em mais tempo para executar as tarefas. Verifique no site https://www.cpubenchmark.net/ pesquisando pelo modelo do seu processador para verificar a pontuação do mesmo. Indicamos no mínimo um processador com pontuação superior a 5000 pontos Alto Realize um upgrade do seu processador.
Temperatura do processador Se a temperatura estiver superior a 60°, o mesmo está acima do ideal. Verifique algum benchmark e realize a medição da temperatura Muito Alto Realize a limpeza do computador, Cooler e aplique uma pasta térmica nova.
Ambiente Virtualizado? VM (Ex: Virtual Box) Em ambientes virtuais, é determinado na VM configurações de execução e também configurações de hardware Muito Alto Altere as configurações da VM, aumente a capacidade da mesma, quanto a memória e processamento.
Velocidade HD Verifique a performance do HD Alto Para HD´s recomenda-se no mínimo 7500RPM, ou se possível a troca por um SSD.
HD Corrompido Verifique por falhas de Hardware Muito Alto HD's com problemas, além de causar perda de dados, força o sistema operacional a fragmentar o disco em busca de locais que não estejam com problemas.
HD Fragmentado Verifique é preciso desfragmentar o HD Médio Caso seu sistema não realize a desfragmentação automaticamente e haja necessidade, realize a desfragmentação do mesmo.
Equipamentos/Hardware antigos Mesmo com equipamentos bons, a idade influencia diretamente na performance. Equipamentos antigos desgastam de acordo com o tempo e uso, decaindo a performance. Além disso a exigência dos equipamentos só cresce com passar do tempo na medida que a automação avança Baixo Realize o upgrade do seu servidor.

Rede

Tarefa Observação Impacto Ação
Está utilizando o sistema em rede Wi-Fi Apesar do avanço e velocidades destas redes, elas ainda são bem mais lentas do que as cabeadas e são diretamente influenciadas pelo número de pessoas que estão na mesma Muito alto Mude para uma rede cabeada 1000Mbps. Senão for possível, realize o upgrade para um roteador mais potente. Utilize a frequência 5G, com mais capacidade. Verifique o número de pessoas na rede e ainda o uso/trafego na mesma.
Rede 100Mbps Esta rede é 10 vezes mais lenta do que as redes atuais Muito alto Mude para uma rede cabeada 1000Mbps.
Latência e perda de Pacotes Realize o ping de uma máquina no servidor e monitore. Se a latência for alta, acima de 10ms ou houver perda de pacotes, significa problemas na rede Muito alto Investigue problemas nos equipamentos e cabos.
Rede 1000Mbps Se estiver lento em um rede desta configuração, o problema pode ser causado por cabos mal grimpados ou equipamentos inferiores Muito alto Investigue por cabos mal grimpados, e ainda se existem equipamentos inferiores. Não adianta usar cabos cat 6 e um roteador cat 5 por exemplo.


Máquina Local

Válido apenas para Sistemas Desktop. Basicamente todas as questões informadas para serem checadas no servidor, devem ser checadas na máquina local.


Banco de dados

Relativo ao banco de dados, teremos poucas questões.


Tarefa Observação Impacto Ação
Banco de dados fragmentado/índices Caso esteja usando o sistema há muito tempo, e não tenha sido realizado nenhuma reindexação Muito alto solicite a reindexação do banco de dados ou se preferir, faça você mesmo. Basicamente realize o backup/restore do banco de dados principal.
Firebird 2.5 Se sua demanda(usuários conectados) for muita alta Alto Solicite a atualização para o Firebird 3.0 ou superior


Sistema

.


Tarefa Observação Impacto Ação
Problemas de lentidão também podem ser provocados por Processos/Recursos Alguns processos podem impactar muito na performance, mas infelizmente esta análise e quando os mesmos devem ser executados deve ser avaliado pelo cliente Muito alto Investigue principalmente o uso de recursos contábeis, RH e produção. Por exemplo, usuário solicita ao sistema para realizar o processamento e contabilização de todas as notas fiscais de um mês. Usuário aplica perfil de custos de produção. Dentre outros.
Problemas de lentidão também podem ser provocados por Processos/Recursos implementados de maneira inadequada Neste caso se torna mais difícil a análise, pois geralmente são problemas localizados e nem o usuário sabe que está provocando-o. Por exemplo, podemos citar processos a geração de um relatório que faz n consultas no banco de dados para realizar determinada análise Alto Solicite apoio a Touch Comp para investigar o problema.