| Bellacosa Mainframe apresenta um estudo de caso para performance em Mainframe |
💥 🔬 PERFORMANCE RELATÓRIO — VISÃO GERAL
PROGRAM MEASURED - PROG001
JOB NAME - JOB001
STEP NAME - P010.S010
🧠 O que isso já diz?
👉 Você está analisando:
-
Programa:
PROG001 -
Job:
JOB001 - Step específico
💡 Ótimo sinal → análise já está refinada (não é genérica)
⚙️ 🔍 BLOCO 1 — Measurement Parameters
ESTIMATED SESSION TIME - 30 MIN
TARGET SAMPLE SIZE - 30,000
🧠 Interpretação
👉 Configuração padrão profissional:
- 30 min
- 1000 samples/min
✔ Excelente equilíbrio entre precisão e overhead
💣 Insight
Se isso estivesse errado → TODO o relatório seria suspeito
📊 🔥 BLOCO 2 — Measurement Statistics
EXEC TIME PERCENT - 90.84
WAIT TIME PERCENT - 9.16
🧠 Diagnóstico IMEDIATO
👉 Sistema está:
- 90% executando (CPU)
- 9% esperando
💥 Conclusão direta
✔ CPU-bound
❌ NÃO é problema de I/O
❌ NÃO é lock
❌ NÃO é DB2 wait
🎯 Ação
👉 Investigar:
- Código COBOL
- Algoritmo
- Loop
- Cálculo repetitivo
⚖️ 🔬 BLOCO 3 — Margem de erro
RUN MARGIN OF ERROR - 0.65
CPU MARGIN OF ERROR - 0.68
WAIT MARGIN OF ERROR - 2.16
🧠 Interpretação
👉 Estatisticamente confiável
| Valor | Qualidade |
|---|---|
| < 1% | excelente |
| < 5% | confiável |
💣 Insight
Você pode confiar nesse diagnóstico sem medo
🔢 📈 BLOCO 4 — Samples
TOTAL SAMPLES TAKEN - 37,549
TOTAL SAMPLES PROCESSED - 22,548
🧠 Interpretação
👉 Nem todos os samples foram úteis
Possíveis motivos:
- CPU idle
- Outro address space
- Thread não relevante
💡 Insight
Isso é NORMAL — e esperado
⏱️ 📉 BLOCO 5 — Sampling Rate
INITIAL SAMPLING RATE - 8.33/sec
FINAL SAMPLING RATE - 4.17/sec
🧠 Interpretação
👉 Taxa caiu ao longo do tempo
Possíveis causas:
- Mudança de carga
- Menos CPU ativa
- Contenção
💥 Insight
Sampling não é constante — ele reflete o ambiente real
🧾 🔍 BLOCO 6 — Ambiente
ADDRESS SPACE ID - 0061
DATE/TIME - execução real
CONDITION CODE - C-0000
🧠 Interpretação
✔ Job terminou OK
✔ Sem abend
✔ Ambiente válido
🔥 🔬 DIAGNÓSTICO FINAL
📊 Resumo técnico
CPU → 90%
WAIT → 10%
Erro → baixo
Samples → suficientes
🎯 Conclusão
💥 O problema está NO CÓDIGO, não no ambiente
💣 Possíveis causas reais
👉 Aqui começa o trabalho do especialista:
🔥 1. Loop ineficiente
PERFORM UNTIL ...
🔥 2. Leitura repetitiva
- VSAM read desnecessário
- DB2 repetido
🔥 3. Cálculo pesado
- Reprocessamento
- Falta de cache
🔥 4. Algoritmo ruim
- Complexidade alta
- Ordenação ineficiente
🚀 Próximo passo (o que você faria em produção)
- Abrir relatório detalhado (modules)
-
Identificar:
- módulo
- offset
- Mapear para código COBOL
- Ajustar lógica
🧠 Modelo mental definitivo
EXEC alto → código
WAIT alto → recurso externo
💥 Frase final (nível especialista)
“O relatório já te deu a resposta.
Agora é você que precisa ir até o código.”