
“A Abordagem para Optimizar o Scheduler (Gestor de tarefas calendarizadas) do Cliente”
Após uma primeira grande conquista, o nosso cliente solicitou-nos que déssemos uma vista de olhos ao seu programador de lotes, onde os trabalhos são automaticamente iniciados. O objectivo era que os lotes diários e mensais demorassem menos de 6 horas.
O lote diário demorava quase 24 horas (por vezes mais) e o mensal demorava mais de 30.
Depois de solicitar os acessos necessários (ferramenta de agendamento, bases de dados envolvidas, servidores de lotes, etc.), trabalhámos para termos uma solução estável que nos ajudasse a medir o caminho crítico mais longo para os trabalhos diários e mensais, para sermos menos propensos a erros manuais que pudessem ser utilizados durante a longa duração do projecto. Já o utilizamos há quase 2 anos.
Rápidamente encontramos el primer obstáculo. El método del cliente para medir el lote mensual era diferente al que consideramos más asertivo. En ese momento, nuestro lado JOINER se puso en evidencia. Propusimos celebrar una reunión para llegar a un acuerdo sobre cómo medir el camino crítico. El acuerdo se alcanzó, de forma bastante pacífica.

Nessa altura já estávamos prontos para definir o problema, respondendo à pergunta: Quais são os principais contribuintes para a longa duração dos lotes?
Sempre que estão envolvidos caminhos múltiplos, o primeiro caminho a ser abordado é geralmente o caminho crítico. O caminho crítico é o caminho com o maior custo. Neste caso, o custo é o tempo.
“By Performing to perfection, we create Time”

A etapa de definição do problema deve ser feita até à parte mais atómica possível. Num primeiro passo, os trabalhos mais longos devem ser identificados, e depois começar a procurar dentro dos trabalhos mais longos para o contribuinte de topo. Como as bonecas Matryoshka, temos de continuar a desvendar até que o contribuinte de topo interior seja identificado.
A definição do problema pode ser mais de metade do esforço para ter uma solução.
Depois de termos identificado todos os principais contribuintes para os lotes diários e mensais, começámos a abordar cada um deles para termos recomendações claras para a melhoria do desempenho.

Por exemplo, no caminho crítico, foi identificado o trabalho mais longo, no qual identificámos uma chamada de procedimento de base de dados, na qual uma consulta foi executada 1 milhão de vezes. A soma da duração do tempo decorrido desta consulta fez o tempo total do trabalho. Assim, a causa raiz para a duração deste trabalho específico é a consulta que é executada 1 milhão de vezes.
O que poderia ser uma solução? Melhorar o tempo de resposta da consulta, redesenhar o trabalho para evitar fazer 1 milhão de execuções, executar em paralelo…
Foram utilizadas muitas abordagens diferentes para responder à panóplia de questões de desempenho que foram analisadas. Mais de 60 mudanças implementadas posteriormente, os objectivos para o lote diário foram alcançados e estamos no bom caminho para atingir os objectivos mensais a curto prazo.
Este é um caso em que o perfil de resiliência da Crossjoin ficou patente, por sempre encontrar uma solução e nunca desistir dos objectivos comuns com o cliente.

Article by:
Paulo Maia
Performance Consultant
Comentários Recentes