| Bellacosa Mainframe e laboratorio pratico de performance |
☕💣🔥 LABORATÓRIO PRÁTICO — TESTES DE PERFORMANCE PARA O PADAWAN COBOL MAINFRAME
Este laboratório foi criado para transformar conceitos em prática.
A ideia é que o aluno pense como um Analista de Performance, um Desenvolvedor COBOL e um Sysprog ao mesmo tempo.
Cada exercício possui:
Cenário
Desafio
Solução Comentada
Conceitos Envolvidos
EXERCÍCIO 1
Identificando o Tipo de Teste
Cenário
O banco deseja validar se o Internet Banking suporta 5.000 usuários simultâneos.
Pergunta
Qual tipo de teste deve ser realizado?
A) Estresse
B) Resistência
C) Carga
D) Pico
Solução
Resposta:
C) Carga
O objetivo é validar a capacidade prevista do ambiente.
Não estamos ultrapassando limites.
Não estamos testando durante horas.
Não estamos simulando explosões repentinas.
Estamos simulando o uso normal esperado.
EXERCÍCIO 2
Descobrindo o Gargalo
Cenário
Uma consulta de saldo apresenta:
| Componente | Tempo |
|---|---|
| Front-End | 50 ms |
| API | 80 ms |
| CICS | 1200 ms |
| DB2 | 950 ms |
Pergunta
Onde está o principal gargalo?
Solução
CICS e DB2.
O tempo de resposta total está concentrado nessas camadas.
O Front-End e API representam parcela muito pequena do processamento.
O próximo passo seria analisar:
SQL
Índices
Plano de acesso
Locks
EXERCÍCIO 3
Avaliando Throughput
Cenário
Durante um teste foram processadas:
120.000 transações
em
60 segundos
Pergunta
Qual o Throughput?
Solução
Fórmula:
TPS = Transações ÷ Tempo
120.000 ÷ 60
TPS = 2.000
Resposta:
2.000 TPS
EXERCÍCIO 4
Encontrando Problema de Código COBOL
Programa
PERFORM UNTIL WS-FIM = 'S'
READ ARQ-CLIENTES
AT END
MOVE 'S' TO WS-FIM
END-READ
PERFORM PROCESSA-CLIENTE
END-PERFORM
Pergunta
Qual risco de performance existe?
Solução
Se o arquivo possuir milhões de registros:
CPU elevada
I/O elevado
Tempo excessivo
O código não está errado.
Mas pode não escalar.
Performance depende do volume.
EXERCÍCIO 5
Escolhendo a Ferramenta
Cenário
Você precisa gerar:
10.000 usuários simultâneos
realizando chamadas HTTP.
Pergunta
Qual ferramenta apresentada seria mais indicada?
Solução
Apache JMeter.
Porque:
Open Source
Escalável
HTTP
HTTPS
REST
SOAP
Foi justamente a ferramenta mostrada na apresentação.
EXERCÍCIO 6
Teste de Resistência
Cenário
Uma aplicação funciona perfeitamente por:
30 minutos
Após:
8 horas
o consumo de memória cresce continuamente.
Pergunta
Qual tipo de teste identificou o problema?
Solução
Teste de Resistência.
Também chamado:
Soak Test
ou
Endurance Test.
Esse tipo de problema dificilmente aparece em testes rápidos.
EXERCÍCIO 7
Simulando Black Friday
Cenário
Usuários simultâneos:
09:00 → 1.000
09:01 → 10.000
09:02 → 15.000
09:03 → 1.000
Pergunta
Qual tipo de teste está sendo realizado?
Solução
Teste de Pico.
Objetivo:
Validar explosões repentinas de acesso.
Muito comum em:
Black Friday
PIX
Campanhas
Venda de ingressos
EXERCÍCIO 8
Análise de Mainframe
Cenário
Durante o teste:
CPU = 35%
Tempo de Resposta = 8 segundos
Pergunta
A CPU é o problema?
Solução
Não necessariamente.
Esse é um erro clássico.
Mesmo com CPU baixa podem existir:
Locks DB2
Espera de I/O
MQ congestionado
SQL ruim
Contenção CICS
CPU baixa não significa ambiente saudável.
EXERCÍCIO 9
Virtualização de Serviços
Cenário
O microsserviço precisa chamar:
Serviço A
Serviço B
Mainframe
Mas o Mainframe está indisponível.
Pergunta
Como continuar os testes?
Solução
Utilizando Virtualização.
Criamos respostas simuladas.
Exemplo:
{
"conta":"12345",
"saldo":"1500.00"
}
Assim os testes continuam sem depender do ambiente real.
EXERCÍCIO 10
Diagnóstico Completo
Cenário
O Grafana mostra:
CPU = 40%
Memória = 45%
Tempo Médio = 5 segundos
Dynatrace mostra:
API = 100 ms
CICS = 250 ms
DB2 = 4200 ms
Pergunta
Onde você investigaria primeiro?
Solução
DB2.
O banco responde por mais de 80% do tempo total.
Possíveis causas:
Full Scan
Índice ausente
Estatísticas desatualizadas
Lock
SQL mal otimizado
DESAFIO FINAL DO PADAWAN ☕💣
Imagine a seguinte arquitetura:
Mobile
↓
Apache
↓
WebSphere
↓
API
↓
MQ
↓
CICS
↓
COBOL
↓
DB2
Você recebe a reclamação:
"Consultar saldo está demorando 12 segundos."
Descreva:
Quais ferramentas utilizaria?
Quais métricas analisaria?
Quais componentes investigaria primeiro?
Como executaria um teste de carga?
Como validaria a correção?
GABARITO ESPERADO
Ferramentas:
JMeter
Dynatrace
Grafana
OMEGAMON
RMF
SMF
Métricas:
CPU
TPS
Tempo Médio
P95
P99
I/O
MQ Depth
Tempo DB2
Investigação:
Dynatrace
DB2
CICS
MQ
API
Teste:
5.000 usuários
Ramp-up gradual
Monitoramento simultâneo
Validação:
Comparar:
Antes = 12 segundos
Depois = meta inferior a 2 segundos
Missão Extra Bellacosa Mainframe
Pegue um programa COBOL real do seu ambiente e responda:
Quantos READs ele executa?
Quantos WRITEs?
Quantos SELECTs DB2?
Qual o maior loop?
Qual o volume esperado?
Como ele se comportaria com 10 milhões de registros?
Se você conseguir responder essas perguntas, já começou a pensar como um profissional de Performance Mainframe e não apenas como um programador COBOL. ☕💣🚀
Sem comentários:
Enviar um comentário