Optima PS2

Devolvemos 18 horas de janela operacional por ciclo

Reescrevemos e otimizamos 12 rotinas de missão crítica no coração do mercado de capitais brasileiro. O tempo médio de execução caiu 56%, sem comprar um servidor a mais.

A madrugada, antes e depois

As 11 rotinas medidas em produção, somadas. Compare o tempo que elas ocupavam com o tempo que ocupam hoje.

30h34 de processamento por ciclo 18h07 a menos

    Medição em ambiente produtivo, ciclo a ciclo. Uma 12ª rotina foi tratada para estabilizar o tempo de execução: ali o ganho não foi de média, foi de previsibilidade.

    O que os números mostraram

    56%

    de redução média no tempo de execução

    18h07

    de janela devolvida a cada ciclo completo

    12

    rotinas críticas otimizadas em produção

    90%

    de redução na rotina de maior ganho

    A janela não cabia mais no dia

    Quando o volume cresce e o relógio não, cada hora de processamento vira risco: relatório que atrasa, rotina dependente que não roda, time operacional em alerta na madrugada.

    Janelas restritas

    Rotinas críticas ocupavam de 3 a 5 horas dentro de uma janela que não pode crescer.

    Runtime imprevisível

    A execução variava muito de um dia para outro, o que dificultava o planejamento operacional.

    Custo de infraestrutura na mesa

    A saída fácil era comprar mais capacidade. A pergunta era: dá para ganhar performance antes disso?

    Nada de big bang. Rotina por rotina.

    Priorizamos pelo que doía mais, tempo consumido vezes criticidade, e tratamos cada rotina como um projeto pequeno, com medição antes e depois.

    1. Mapear e priorizar

      Levantamento do tempo real de cada rotina e ordenação por impacto na janela.

    2. Reescrever com foco

      Migração de Java para Python, com performance como requisito, não como consequência.

    3. Atacar o banco

      Revisão de consultas, redução de I/O e eliminação de etapas redundantes no tratamento de dados.

    4. Medir e estabilizar

      Comparativo em produção e ajuste fino onde o problema era variação, não média.

    Rotina a rotina

    Os maiores ganhos vieram de rotinas que ninguém questionava havia anos.

    RotinaAntesDepoisGanho

    Base: 11 rotinas com medição em produção, mais 1 rotina tratada para estabilização de runtime. Ganho apurado por ciclo de execução.

    O ganho real não está no cronômetro

    Tempo de execução é o indicador. O que muda de verdade é o que a operação passa a fazer com a folga que apareceu.

    Risco operacional menor

    Menos chance de estouro de janela e de efeito dominó em rotinas dependentes.

    Capacidade sem CAPEX

    Mais throughput no mesmo parque. O investimento em infraestrutura foi adiado, não antecipado.

    Previsibilidade

    Runtime estável é o que permite planejar a madrugada com confiança.

    Método replicável

    O padrão de diagnóstico, reescrita e medição fica instalado para as próximas rotinas.

    O que levamos deste projeto

    Ninguém otimiza o que não mede

    A primeira entrega não foi código: foi o mapa de quanto tempo cada rotina realmente consumia. Sem baseline, ganho vira opinião.

    Legado não é sinônimo de intocável

    Rotinas rodando havia anos concentravam os maiores ganhos justamente porque ninguém as revisitava. A rotina de 5h19 virou 43 minutos.

    Média engana, variação dói

    Em parte dos casos o problema não era o tempo médio, e sim a oscilação. Estabilizar valeu tanto quanto acelerar.

    Sua janela de processamento está apertando?

    Na maioria dos ambientes que analisamos, entre 20% e 40% do tempo de processamento está em rotinas que ninguém revisita há anos. O diagnóstico é rápido, e o ganho quase sempre é maior do que se imagina.

    1. Levantar o tempo real das 20 rotinas mais pesadas
    2. Ordenar por tempo vezes criticidade de negócio
    3. Atacar as três primeiras e medir
    Converse com um especialista