A abordagem para otimizar um agendador de clientes
Após uma primeira grande conquista, o nosso cliente pediu-nos para analisar o seu agendamento de lotes, onde os trabalhos em lote são iniciados automaticamente. O objetivo era fazer com que os lotes diários e mensais demorassem menos de 6 horas.
O lote diário estava a demorar quase 24 horas (às vezes mais) e o mensal estava a demorar mais de 30.
Após solicitar os acessos necessários (ferramenta de agendamento, bases de dados envolvidas, servidores de lote, etc.), trabalhámos para ter uma solução estável que nos ajude a medir o caminho crítico mais longo para o diário e o mensal trabalhos, para serem menos propensos a erros manuais que poderiam ser aproveitados durante a longa duração do projeto. Utilizamo-lo há quase 2 anos.
Em breve deparámo-nos com o primeiro obstáculo. O método de medição utilizado pelo cliente para o lote mensal era diferente daquele que considerávamos o mais eficaz. Nesse momento, a nossa vertente «JOINER» tornou-se evidente. Propusemos realizar uma reunião para chegar a um acordo sobre a forma de medir o caminho crítico. O acordo foi alcançado de forma bastante pacífica.
Por essa altura, já estávamos preparados para definir o problema, respondendo à pergunta: Quais são os principais contribuintes para a longa duração dos lotes?
Sempre que estão envolvidos vários caminhos, o primeiro a ser tratado é habitualmente o caminho crítico. O caminho crítico é o caminho com o maior custo. Neste caso, o custo é o tempo.
“Ao executar com perfeição, criamos o Tempo”
A etapa de definição do problema deve ser feita até à parte mais atómica possível. Numa primeira etapa, devem ser identificados os trabalhos mais longos e, em seguida, começar a analisar o interior dos trabalhos mais longos para o tLá colaborador principal. Tal como as bonecas matrioskas, temos de continuar a desvendar até identificar o colaborador principal mais interior.
“A definição do problema pode ser mais de metade do esforço para encontrar uma solução.”
Depois de identificarmos todos os principais colaboradores para os lotes diários e mensais, começámos a contactar cada um deles para obter recomendações claras sobre a melhoria do performance.
Por exemplo, no caminho crítico, foi identificada a tarefa mais longa, tendo-se determinado que se tratava de uma chamada de procedimento de base de dados, na qual foi executada uma consulta 1 milhão de vezes. A soma da duração do tempo decorrido desta consulta constituiu o tempo total da tarefa. Assim, a causa raiz da duração desta tarefa específica é a consulta que é executada 1 milhão de vezes.
Qual poderá ser uma solução? Melhorar o tempo de resposta da consulta, redesenhar a tarefa para evitar a execução de 1 milhão de vezes, executar em paralelo…
Foram utilizadas diversas abordagens para abordar o vasto leque de questões relacionadas com o performance que foram analisadas. Foram implementadas mais de 60 alteraçõesMais tarde, os objetivos do lote diário foram atingidos e estamos muito bem encaminhados para alcançar os objetivos mensais a curto prazo.
Este foi um caso em que o perfil de resiliência da Crossjoin se destacou, ao ter sempre encontrado uma solução e nunca ter desistido dos nossos objetivos comuns com o cliente.
Artigo por: Paulo Maia
Consultor da Performance



