📉 Checklist de Redução de MIPS
Pós-Migração COBOL 5.00 — IBM Mainframe
“Migrar é sobreviver. Reduzir MIPS é reinar.”
🟥 FASE 1 — MEDIÇÃO (sem medição é fé)
☑ Antes de otimizar, medir
-
☐ SMF 30 / 72 / 110 coletados
-
☐ CPU por job / step
-
☐ Elapsed vs CPU
-
☐ Consumo em horário de pico
☑ Ferramentas
-
RMF
-
OMEGAMON
-
MXG
-
SAS
-
SMF Dump Analyzer
💬 Fofoquinha:
Time que “acha” que reduziu MIPS geralmente aumentou.
🟧 FASE 2 — COMPILAÇÃO INTELIGENTE (ganho rápido)
⚙ Parâmetros que economizam CPU
🧠 Avaliar com cuidado
📉 Estratégia:
-
DEV/QA → ON
-
PROD → OFF somente se validado
💣 Erro comum:
Desligar NUMCHECK “pra ganhar CPU” sem limpar código.
🟨 FASE 3 — LIMPEZA DE CÓDIGO (onde mora o ouro)
🧹 Remover desperdícios clássicos
☑ DISPLAY em loop
☑ MOVE redundante
☑ IF aninhado desnecessário
☑ PERFORM THRU
☑ WORKING-STORAGE gigante não usada
📉 Impacto:
-
↓ CPU
-
↓ Cache miss
-
↓ Path length
🥚 Easter-egg:
Um DISPLAY esquecido num batch grande já pagou um carro zero.
🟦 FASE 4 — ESTRUTURA DO PROGRAMA (pipeline feliz)
☑ Preferir:
-
PERFORM único
-
Parágrafos curtos
-
Fluxo previsível
☑ Evitar:
-
GO TO
-
PERFORM cruzando seções
-
Código “criativo”
🧠 COBOL 5 + z Architecture:
Código linear = melhor uso de pipeline e cache L1/L2
🟩 FASE 5 — DADOS E FORMATOS (CPU invisível)
💥 Erros caros
| Erro | Custo |
|---|---|
| DISPLAY usado como cálculo | Alto |
| COMP mal definido | Médio |
| REDEFINES abusivo | Alto |
| Conversão implícita | Altíssimo |
☑ Use:
-
COMP / COMP-5 corretamente
-
PIC consistente
-
TRUNC(BIN)
🟪 FASE 6 — I/O: O ASSASSINO SILENCIOSO
☑ Minimizar:
-
Leitura redundante
-
WRITE desnecessário
-
SORT interno mal usado
☑ Melhorar:
-
Buffers maiores
-
Uso correto de SORT externo
-
VSAM tuning (CI/CA)
💬 Fofoquinha:
Muitas “otimizações de CPU” são na verdade I/O mal feito.
🟫 FASE 7 — JCL E EXECUÇÃO (ninguém olha, mas pesa)
☑ Revisar:
-
REGION excessivo
-
STEPLIB desnecessário
-
Programas antigos ainda rodando
☑ Avaliar:
-
Rodar batch pesado fora do pico
-
Paralelismo controlado
-
zIIP offload
📉 Ganho indireto:
CPU MSU fora do pico = custo menor
🟧 FASE 8 — zIIP / Offload (dinheiro esquecido)
☑ Verificar:
-
LE habilitado
-
Compilação compatível
-
Ambiente preparado
📉 O que pode ir pra zIIP:
-
XML
-
JSON
-
Serviços
-
Web Services
-
Partes do LE
💬 Fofoquinha:
Tem cliente pagando MIPS caro enquanto o zIIP dorme.
🟥 FASE 9 — REMOÇÃO DE CHECKS (só depois de adulto)
📌 Sequência correta:
-
NUMCHECK ON
-
Corrigir código
-
Medir estabilidade
-
NUMCHECK OFF
-
Medir MIPS
❌ Pular etapa = incidente garantido
☠️ ERROS QUE MATAM ECONOMIA
| Erro | Resultado |
|---|---|
| Otimizar sem SMF | Ilusão |
| OPTIMIZE(3) sem teste | Bug |
| Desligar checks cedo | Abend |
| Ignorar I/O | CPU sobe |
| Medir só elapsed | Fatura explode |
🎓 RESUMO PADAWAN
✔ COBOL 5 pode reduzir MIPS
✔ Código limpo = CPU baixa
✔ Compilação correta = ganho imediato
✔ Medição manda, opinião não
✔ zIIP é dinheiro esquecido
🧠 FRASE FINAL BELLACOSA™
“Mainframe não é caro.
Caro é código ruim rodando rápido.”
Sem comentários:
Enviar um comentário