Árvore de páginas

Versões comparadas

Chave

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

...

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

 

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 clienteusuário.

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

 

Aviso
titleNão se esqueça!

...

Deve-se também, como análise inicial, verificar se o dimensionamento do ambiente do usuário está de acordo com as especificações do fluig.

...

...

Cenários comuns

Dentro da nossa experiência de atendimento à diversos clientes, identificamos alguns cenários como os mais comuns quando relacionados à lentidão do fluig. 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 das dos widgets e, caso existam das páginas customizadasdesenvolvidas sobre a plataforma. Essa análise é realizada principalmente através das ferramentas de análise disponibilizadas pelos navegadores, como o Chrome e Firefox. Nesta avaliação, buscamos identificar qual, ou quais, recursos estão levando um tempo anormal para responder ou serem carregados.

 

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 customizados, através do log do servidor. Caso a percepção seja na visualização, também temos a hipótese de eventos customizados demorando muito para executar. Caso a lentidão seja no visualizador interno, deve-se verificar o dimensionamento do mesmo.

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 o fluig 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 do próprio fluig. 

Caso identificado que são requisições internas, passamos a avaliar o log do servidor em busca da execução de customizações 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 à datasets, podemos 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 de 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

Desenvolvimento de dataset

Sincronização de datasets

Desenvolvimento de processos

Desenvolvimento de formulários

Integração assíncrona via processo

Desenvolvimento de eventos

Desenvolvimento de widgets

 

...

Na página Mensagens de log para processos, temos que o objetivo deste guia é 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 demostrar 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 customizações.
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 logados 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 customizações
11:13:01,280 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads - 95) CustomizationManagerImpl.invokeFunction.validateForm executou por 1 segundo
Informações
titleNota

Caso queira monitorar trechos específicos de código, é possível utilizar esta mesma função, seguindo o guia disponível em Criando uma métrica de tempo de execução.

 

...