Histórico da Página
...
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Objetivo
Problemas de lentidão no fluig podem acontecer por diversos motivos, englobamos nesta FAQ algumas formas para identificar e analisar as formas de detectar as possíveis causas de lentidão.
...
Aviso | ||
---|---|---|
| ||
Devemos também, como análise inicial, verificar se o dimensionamento do ambiente do usuário está de acordo com |
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 a percepção de lentidão.
Na página inicial
...
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 | ||
---|---|---|
| ||
Desenvolvimento de formulários |
Ferramentas para análise do server.log:
Analisando o log do fluig
Para avaliar os tempos das customizações é necessário a analise do log.
Fluig > Analise inicial > log1.png
Bloco de código | ||||
---|---|---|---|---|
| ||||
11:13:01,280 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads - 95) CustomizationManagerImpl.invokeFunction.validateForm executou por 1 segundo |
Bloco de código | ||||
---|---|---|---|---|
| ||||
11:02:22,499 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads - 77) DatasetFactory.getDataset.dsCargosSalariosAtv executou por 1 segundo |
Informações | ||
---|---|---|
| ||
Caso queira monitorar trechos específicos de código, é possível utilizar esta mesma funcção, seguindo o guia disponível em Criando uma métrica de tempo de execução. |
Ativação do log por usuário
Esta é uma ferramenta disponibilizada no fluig a partir da versão 1.5.8 pois, conforme o release notes da funcionalidade, 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.