Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone

 

Plataforma

Produto:  fluig

Versão: Todas

Ambiente: Todos

Banco de Dados: Todos

Ocorrência

Objetivo

...

Problemas de lentidão no fluig TOTVS Fluig Plataforma podem acontecer por diversos motivos, englobamos por isso reunimos nesta FAQ página algumas formas para identificar e analisar as formas de detectar as possíveis causas de lentidão.

Solução

Ao detectar o problema de lentidão, recomendamos verificar as seguintes FAQ's:

A primeira FAQ que deve ser consultada é a de configuração do servidor que o cliente possui.

Analise do tempo de resposta através do navegador: 

Casos de lentidão por Card do fluig:

Caso: lentidão na pagina inicial
     - Verificar o tempo de execução de widgets através do console do navegador
     - Verificar tempo de carregamento de páginas através do console do navegador
Caso: lentidão na publicação de documentos
     - verificar execução de eventos customizados
Caso: lentidão na visualização de documentos
     - verificar eventos customizados
     - verificar dimensionamento do visualizador interno
Caso: lentidão na tela de inicialização de processos
     - verificar mecanismos de atribuição da atividade inicial dos processos
Caso: lentidão na abertura da tela de movimentação de processo
     - verificar tempo de execução das requisições no console do navegador
     - verificar customizações
     - verificar requisições à datasets
Caso: lentidão na movimentação de processo
     - verificar tempo de execução das requisições no console do navegador
     - verificar customizações
     - verificar requisições à datasets

Ferramentas para análise do server.log:

Ferramentas Glogg e Baretail:
Ativação  do controle de log por usuário: 
Compreendendo as mensagens de log para processos:
JSChronos - Customizações

Para avaliar os tempos das customizações é necessário a analise do log.
Fluig > Analise inicial > log1.png

...

Image Removed

Exemplo de execução de customizações

...


Pré-requisitos

...

Aviso

O dimensionamento do ambiente do usuário deve estar de acordo com as especificações definidas.


Análise inicial

...

Conforme o Guia de Performance e Analise do Servidor, a análise inicial deve ser realizada para identificar o ponto exato de lentidão com base na reclamação do usuário.

Para realizar esta análise, deve-se utilizar as ferramentas de rede do navegador, conforme descrito no item Análise Inicial.

Cenários comuns

...

Dentro da nossa experiência de atendimento à diversos clientes, identificamos alguns cenários como os mais comuns quando relacionados à lentidão da plataforma. Abaixo, temos a descrição de cada um deles, bem como as medidas normalmente utilizadas para identificar os fatores que levam à percepção de lentidão.

Na página inicial

Começamos com a avaliação dos tempos de execução dos widgets e, caso existam, das páginas desenvolvidas sobre a plataforma. Essa análise é realizada principalmente através das ferramentas de análise disponibilizadas pelos navegadores, como Chrome e Firefox. Nesta avaliação, buscamos identificar qual, ou quais, recursos estão levando um tempo anormal para responder ou carregar.

Na publicação ou visualização de documentos

Quando a demora é percebida na publicação de documentos, começamos verificando se há execução de eventos personalizados, através do log do servidor. Caso a percepção seja na visualização, também temos a hipótese de eventos personalizados demorando muito para executar. Caso a lentidão seja no visualizador interno, deve-se verificar seu dimensionamento.

Na tela de inicialização de processos

Normalmente identificamos que a percepção de lentidão nesta tela ocorre devido aos mecanismos de atribuição relacionados às atividades iniciais dos processos. Como a plataforma precisa resolver cada um dos mecanismos para então exibir a lista dos processos aos quais o usuário possui permissão para iniciar, pode haver lentidão neste ponto.

Na abertura da tela de movimentação de processo

Nesta tela, quando o processo está sendo aberto para que usuário possa preencher o formulário, anexar arquivos, etc., normalmente iniciamos a avaliação pelo tempo de execução das requisições através do console do navegador para identificar quais recursos estão demorando para responder. Assim, podemos identificar se o motivo da percepção de lentidão são recursos externos, como bibliotecas JavaScript utilizadas no formulário, ou requisições internas da própria plataforma.

Caso identificado que são requisições internas, passamos a avaliar o log do servidor em busca da execução de desenvolvimentos como eventos de processos do tipo before e de eventos de formulário (displayFields, enableFields, etc.), consultas à dataset e/ou consultas a serviços externos. Caso a lentidão seja causada pela execução de eventos, sugerimos a revisão dos mesmos para reduzir ao máximo o processamento necessário para execução. Caso a lentidão seja em consultas a datasets, deve-se avaliar se o dataset em questão foi desenvolvido utilizando as boas práticas e também recursos como a sincronização de datasets.

Na movimentação de processo

Quando temos situações onde o envio da solicitação está levando muito tempo, procedemos com uma análise bastante parecida com a analise descrita no item acima, porém agora devemos avaliar eventos de processos do tipo after e eventos de validação de formulários (validateForm, etc.).

Em muitos casos, na movimentação de solicitações são utilizadas integrações com aplicativos externos que podem causar a percepção de lentidão para o usuário. Para estes casos, recomendamos a utilização da Atividade de Serviço. Mais informações sobre esta atividade e exemplo de utilização estão disponíveis no guia Integração assíncrona via processos workflow.

Informações
titlePara saber mais


Analisando o log da plataforma


Para analisar o log estático, recomendamos o uso de uma ferramenta de texto inteligente, como o Notepad++ ou o SublimeText. Para acompanhar em tempo real, podem ser utilizadas ferramentas como o BareTail e o glogg.

Informações

A página Mensagens de log para processos tem como objetivo auxiliar o suporte e desenvolvedores da plataforma a ativar e compreender um novo conjunto de mensagens de log que trazem informações relevantes a solicitação Workflow durante as fases de abertura e movimentação passando por eventos de processo e Datasets que venham a ser consultados dentro desses eventos.

Os tópicos a seguir irão demonstrar como ativar essas mensagens e farão uma breve descrição de todos os campos retornados. Desta forma, é muito importante que os desenvolvedores conheçam essas mensagens para que possam entender melhor como o Fluig trata e responde a erros durante a execução de processos e desenvolvimentos.

Outra ferramenta bastante importante é a avaliação dos tempos de execução através da classe JSChronos.

Basta procurar por "[com.totvs.technology.foundation.common.JSChronos]" no log do servidor. Todos os pontos de customização são registrados com a informação do tempo de execução, conforme exemplo abaixo:

Bloco de código
languagetext
titleExemplo de execução de dataset
11:02:22,499 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads -

...

 77)

...

 DatasetFactory.

...

getDataset.

...

dsCargosSalariosAtv executou por 1 segundo
Bloco de código
languagetext
titleExemplo de execução de
dataset
customizações
11:
02
13:
22
01,
499
280 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads -
77
 95)
DatasetFactory
 CustomizationManagerImpl.
getDataset
invokeFunction.
dsCargosSalariosAtv
validateForm executou por 1 segundo

Boas práticas para desenvolvimentos de processos:

 

    
     



Ativação do log por usuário


Esta é uma ferramenta disponibilizada na plataforma a partir da versão 1.5.8, pois conforme o Release Notes do recurso, quanto maior o uso da plataforma, mais informações são registradas em seu log, o que torna difícil saber qual usuário efetuou a ação que acarretou em um erro. 

Por isso, agora quando um usuário relatar que está com problemas e você está com dúvidas do que está acontecendo, ative essa nova opção e acompanhe todas as informações que vão te auxiliar a fazer o diagnóstico de situações que estejam prejudicando o uso da plataforma para esse usuário. Para conferir, acesse Painel de Controle > Gerais > Controle de log.

O guia completo de ativação e utilização da funcionalidade está disponível na página Controle de log por usuário.