✨ Bem-vindo ao meu espaço! ✨ Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens. Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê. Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão. Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
Translate
quarta-feira, 17 de janeiro de 2024
Mainframe, conheça um pouco sobre Sistemas Centrais
terça-feira, 16 de janeiro de 2024
🔥 IBM 3592 JF – O cartucho que carrega impérios de dados
🔥 IBM 3592 JF – O cartucho que carrega impérios de dados
🧠 Introdução – quando o dado dorme em fita, mas sonha em petabytes
Se você acha que fita magnética é coisa de museu, é porque nunca encarou um IBM 3592 JF rodando em um TS1140/TS1150 dentro de um data center que parece mais uma nave espacial do que uma sala fria.
O 3592 JF não é “backup”. Ele é arquivo corporativo, retenção legal, seguro contra ransomware e, em muitos bancos, a última linha de defesa da civilização digital.
Bem-vindo ao mundo onde dados não são deletados — são arquivados com honra.
📜 História – da fita de rolo ao JF
A linhagem do IBM 3592 nasce no início dos anos 2000 como sucessor espiritual das 3490/3480.
O sufixo JF marca uma geração madura, refinada, feita para:
-
Ambientes z/OS heavy-duty
-
Integração com DFSMS/HSM
-
Coexistência com VTS, TS7700 e GDPS
📼 O JF é o tipo de mídia que sobrevive a mudanças de diretoria, ERPs, fusões e três modas de cloud.
🧱 Arquitetura do cartucho IBM 3592 JF
Características físicas e lógicas:
-
📏 Formato proprietário IBM (não confundir com LTO)
-
💾 Capacidade nativa: ~700 GB
-
🗜️ Capacidade com compressão: até ~2–3 TB (dependendo do workload)
-
🔐 Suporte a criptografia por hardware
-
🧬 Servo tracking de altíssima precisão
💡 Easter egg: a densidade da fita é tão alta que um cartucho mal acondicionado “grita” no log do drive antes mesmo de falhar.
🏗️ Onde ele vive no mundo real
Normalmente você encontra o 3592 JF em:
-
🗄️ IBM TS3500 / TS4500 Tape Library
-
🧠 TS7700 (Virtual Tape Server) como mídia física de backend
-
🧾 Ambientes regulados: bancos, seguradoras, governos
Ele conversa intimamente com:
-
z/OS DFSMS
-
HSM (Hierarchical Storage Manager)
-
DFSMShsm Migration / Recall
🔄 Workflow clássico no mainframe
📌 Passo a passo “vida de fita”
-
Dataset criado (PS ou GDG)
-
Política de SMS decide: disk hoje, fita amanhã
-
HSM migra o dataset para fita
-
Catalog aponta para volume JF
-
Recall on-demand traz o dado de volta
-
Dataset volta ao disco como se nada tivesse acontecido
🧙♂️ Magia negra mainframe: a aplicação nunca sabe que o dado dormiu em fita.
📊 Logs, SMF e rastros
O 3592 JF deixa pegadas elegantes:
-
SMF 14/15 – uso de fita
-
SMF 42 – atividades de DFSMS
-
SMF 94 – criptografia
-
Logs do TS7700 (se virtualizado)
📎 Dica Bellacosa: fita não mente. Se algo sumiu, o SMF sabe onde foi parar.
🧩 Curiosidades que só quem viveu sabe
-
☕ Drives 3592 “acordam” antes do operador terminar o café
-
🔁 Uma fita JF pode sobreviver 30 anos se bem armazenada
-
🧯 Ransomware odeia fita — ela não monta sozinha
-
🎩 Cartucho com label mal escrito vira lenda urbana no CPD
🛠️ Dicas práticas de sobrevivência
✔️ Padronize nomenclatura de volumes
✔️ Nunca misture JF com JE/JB sem planejamento
✔️ Use criptografia nativa, não “caseira”
✔️ Monitore recalls excessivos (sinal de má política de HSM)
✔️ Tape não é lenta — lento é acesso mal desenhado
📚 Guia de estudo para mainframers
📖 Leia e domine:
-
DFSMS Storage Administration
-
DFSMShsm Implementation
-
IBM TS11xx Drive Redbooks
-
SMF 14/15 deep dive
🧠 Exercício clássico:
Simule migração, expiração, recall e auditoria de um dataset crítico sem que a aplicação perceba.
🧪 Aplicações reais do IBM 3592 JF
-
📜 Retenção legal (7–30 anos)
-
🏦 Histórico financeiro imutável
-
🧬 Dados médicos arquivados
-
🛰️ DR offline (air gap real)
-
📦 Data lake pré-cloud que ainda funciona
🧨 Comentário final – El Jefe Style
Enquanto o mundo discute se “cloud é o futuro”, o IBM 3592 JF continua fazendo o que sempre fez:
guardar o passado para proteger o futuro.
No mainframe, fita não é legado.
É estratégia.
🔥 Midnight Lunch aprovado. A fita gira, o dado dorme, o mainframer sorri.
segunda-feira, 15 de janeiro de 2024
🕴️ O Homem Médio: o “Salaryman” dos Animes
🕴️ O Homem Médio: o “Salaryman” dos Animes
💼 Quem é o Salaryman?
O salaryman (サラリーマン) é o trabalhador assalariado urbano japonês — terno escuro, gravata, pastinha na mão, metrô lotado às 7 da manhã. Ele é o homem médio, aquele que vive para o emprego, fiel à empresa quase como a um clã.
O termo nasceu no pós-guerra, quando o Japão reconstruía sua economia. As grandes corporações ofereciam emprego vitalício e esperavam, em troca, lealdade total. O resultado? Uma geração de homens moldados pela rotina e pelo sacrifício pessoal.
☕ O arquétipo nos animes
Nos animes, o salaryman aparece tanto como figura trágica quanto cômica. Ele é o homem invisível da metrópole, cercado de néon e solidão. Alguns exemplos emblemáticos:
-
“Aggretsuko” (2018) – Um retrato hilário e melancólico: Retsuko, uma panda-vermelha contadora, sofre com o chefe abusivo e desabafa cantando death metal no karaokê.
-
“Shinya Shokudō” (Midnight Diner) – Mostra o lado humano do salaryman noturno: gente exausta que encontra um pouco de calor em uma tigela de sopa quente às 2 da manhã.
-
“Salaryman Kintarō” (1999) – Um ex-gângster tenta se adaptar à vida corporativa — uma crítica direta ao conformismo e à hierarquia do escritório japonês.
-
“Tokyo Godfathers” (2003) e “Perfect Blue” (1997) também mostram figuras masculinas presas à rotina, sufocadas pela cidade e pelo peso das aparências.
🔁 O ciclo da rotina
O dia do salaryman é quase ritualístico:
-
Acordar cedo, metrô lotado.
-
Trabalho até tarde.
-
Bebedeira com os colegas (por obrigação).
-
Dormir poucas horas, e repetir tudo amanhã.
É uma vida sem clímax narrativo, o oposto da jornada do herói — e justamente por isso, fascinante. O salaryman é o anti-herói moderno: alguém que vive para manter o sistema em funcionamento, sem jamais ser notado.
💔 O custo da conformidade
Essa cultura gera o fenômeno do karōshi (過労死) — morte por excesso de trabalho. Também alimenta temas como solidão, escapismo, jōhatsu (desaparecimento voluntário) e hikikomori.
Nos animes mais sérios, o salaryman é usado para discutir a perda da identidade e o vazio existencial na sociedade japonesa contemporânea.
🌃 Curiosidades e detalhes culturais
-
Muitos salarymen dormem no trem e decoram o tempo exato da viagem para acordar na estação certa.
-
As empresas incentivam o nomikai (bebedeira corporativa) como forma de “harmonizar o grupo”, o que mistura hierarquia e alcoolismo leve.
-
Há mangás slice of life só sobre o cotidiano desses homens, como “Hataraki Man” e “Shima Kōsaku” — ambos exploram as pressões e pequenas vitórias do mundo corporativo.
💡 Porque o “salaryman” importa
Ele é o espelho do cidadão comum — aquele que trabalha, sofre e sonha pequeno. No Japão, onde o coletivo vale mais que o indivíduo, o salaryman é o herói trágico que sustenta a engrenagem.
Nos animes, ele é lembrado como o homem que não salvou o mundo, mas o manteve girando.
quarta-feira, 10 de janeiro de 2024
Artigos para ler, Um Roteiro teórico para trabalhar com Mainframe
Leia na Integra
segunda-feira, 8 de janeiro de 2024
🔮 Um Ano Depois — A Memória e a Ferida
🔮 Um Ano Depois — A Memória e a Ferida
Por Bellacosa Mainframe | Crônicas do Brasil Inacabado
Um ano.
Doze voltas completas do sol desde o dia em que Brasília foi tomada pela própria sombra.
As vidraças já foram trocadas, os tapetes lavados, os salões voltaram ao brilho cerimonial —
mas as feridas que importam não sangram por fora.
O Brasil chegou a 8 de janeiro de 2024 com o mesmo espelho rachado na alma.
O concreto foi restaurado.
A confiança, não.
🌫️ O Tempo Cura — Mas Não Apaga
O país tenta seguir.
As manchetes mudaram de tema, os discursos migraram para novas polêmicas,
mas basta uma imagem — a bandeira caída, a cúpula quebrada —
para que tudo volte como um eco.
Aquela tarde virou símbolo e cicatriz.
Não mais o susto, mas o sintoma de uma doença longa:
a incapacidade nacional de escutar antes de gritar.
⚙️ O Ano Seguinte em Cinco Movimentos
-
Os Julgamentos: o STF, agora símbolo de reconstrução, virou palco de justiça e debate moral. As sentenças se tornaram espelhos — uns viram punição, outros viram vingança.
-
O Esquecimento: o noticiário se cansou. As redes seguiram o ciclo do novo escândalo. Mas há quem ainda acorde com a lembrança de sirenes ecoando no coração da Praça dos Três Poderes.
-
A Política dos Cacos: os discursos ficaram mais afiados, o país mais cético. Brasília aprendeu a temer o próprio povo — e o povo a desconfiar de tudo.
-
Os Documentários: o cinema e a TV começaram a narrar o episódio com a frieza do tempo — como quem tenta compreender um trauma coletivo.
-
O Turismo da Memória: hoje há visitas guiadas que mostram onde o caos entrou. Brasília transformou o horror em aula de história.
💀 Curiosidades do Esquecimento
🔸 As cadeiras do plenário do STF foram restauradas por artesãos de Minas — cada entalhe feito à mão, como quem reza.
🔸 Uma pintura destruída naquele dia, “A Justiça”, foi restaurada e hoje carrega uma marca discreta da invasão, deixada propositalmente — uma cicatriz exposta como lembrança.
🔸 Professores de História chamam o episódio de “Domingo de Cinzas da República”.
🔸 E há quem colecione souvenirs digitais: prints, vídeos, memes — fragmentos de um pesadelo transmitido ao vivo.
🕯️ A Ferida e o Aprendizado
Um país não amadurece sem olhar seus fantasmas.
O 8 de janeiro ensinou que a democracia não morre em golpes súbitos —
ela morre aos poucos, na banalização da mentira,
na paixão cega, na desistência de pensar.
O Brasil vive a ressaca de um delírio coletivo.
E, no meio da confusão, descobre que reconstruir não é punir —
é educar, é lembrar, é repetir até que doa menos.
💭 Para o Padawan, aprendiz do caos e da calma:
“O poder é frágil quando o povo esquece o porquê das leis.
A liberdade não se sustenta no grito, mas no entendimento silencioso.”
Um ano depois, Brasília segue de pé,
mas cada vidro reflete mais do que o horizonte —
reflete a dúvida que paira sobre todos nós:
seremos capazes de aprender com o erro?
🌌 Epílogo: A Cidade Que Sobreviveu ao Seu Povo
Brasília, com suas linhas perfeitas e vazios geométricos,
segue sendo o coração de um país emocionalmente caótico.
O concreto resistiu.
O mito da estabilidade, não.
Mas talvez, como toda ferida, essa também traga um antídoto escondido:
a lembrança de que a democracia é obra diária, não monumento.
🕯️ Um ano depois, o Brasil não é o mesmo —
e talvez isso seja o primeiro sinal de que ainda há salvação.
sexta-feira, 5 de janeiro de 2024
☕💣 TESTOU 100% DOS CASOS... E MESMO ASSIM QUEBROU EM PRODUÇÃO? O MAIOR MITO DOS TESTES EM MAINFRAME QUE AINDA ENGANA MUITA GENTE
| Bellacosa Mainframe e a cobertura de testes em mainframe |
☕💣 TESTOU 100% DOS CASOS... E MESMO ASSIM QUEBROU EM PRODUÇÃO? O MAIOR MITO DOS TESTES EM MAINFRAME QUE AINDA ENGANA MUITA GENTE
Se existe uma frase que todo profissional de Mainframe já ouviu alguma vez, ela é:
"O programa foi totalmente testado."
Curiosamente, essa mesma frase costuma aparecer poucas horas antes de um incidente em produção.
E aqui está uma verdade que muitos profissionais descobrem apenas depois de alguns anos de guerra:
Não existe programa totalmente testado.
O que existe é um programa com um nível de cobertura suficientemente alto para reduzir o risco a um patamar aceitável.
A pergunta correta nunca deveria ser:
"O programa foi testado?"
Mas sim:
"Qual foi a cobertura real do teste?"
E mais importante ainda:
"O que ficou sem ser testado?"
Hoje vamos conversar sobre um dos assuntos mais importantes para analistas, desenvolvedores COBOL, testadores, líderes técnicos e gestores de aplicações Mainframe:
Como medir cobertura de testes, construir um plano realmente abrangente e aumentar drasticamente a qualidade das entregas.
Pegue seu café.
Porque cobertura de teste não é quantidade de cenários.
É ciência.
O grande erro: confundir quantidade com cobertura
Muitos profissionais acreditam que executar muitos casos de teste significa possuir alta cobertura.
Não significa.
Imagine um programa COBOL com:
20 IFs
5 EVALUATEs
3 loops
15 regras de negócio
Você executa 500 casos.
Mas todos seguem o mesmo caminho lógico.
Resultado:
500 execuções
cobertura baixíssima
Você apenas percorreu a mesma estrada centenas de vezes.
É como testar um elevador indo somente para o segundo andar.
Você pode apertar o botão mil vezes.
Ainda não sabe o que acontece no décimo quinto andar.
O que é cobertura de teste?
Cobertura é uma métrica que mede quanto do comportamento do software foi exercitado durante os testes.
Ela responde perguntas como:
Quantas instruções foram executadas?
Quantos IFs foram percorridos?
Quantas decisões foram avaliadas?
Quantos caminhos lógicos foram explorados?
Quantas regras de negócio foram validadas?
Quanto maior a cobertura, maior a confiança.
Mas atenção:
100% de cobertura não significa ausência de defeitos.
Significa apenas que tudo foi visitado.
Não necessariamente validado corretamente.
As camadas de cobertura
Um plano robusto costuma analisar múltiplas camadas.
1. Cobertura de instruções (Statement Coverage)
A mais básica.
Pergunta:
Cada linha executável foi executada ao menos uma vez?
Exemplo:
IF SALDO > 0
MOVE 'A' TO STATUS
ELSE
MOVE 'B' TO STATUS
END-IF
Se apenas SALDO > 0 foi testado:
MOVE 'A'
executou.
Mas:
MOVE 'B'
não.
Cobertura parcial.
Para atingir 100%, ambos os caminhos precisam ser executados.
2. Cobertura de decisões (Branch Coverage)
Mais importante.
Pergunta:
Cada decisão assumiu todos os resultados possíveis?
Exemplo:
IF CLIENTE-ATIVO
Devemos testar:
TRUE
FALSE
Muitos projetos param na cobertura de instruções.
Os melhores projetos vão além e medem cobertura de decisões.
3. Cobertura de condições
Exemplo:
IF IDADE > 18
AND RENDA > 5000
Precisamos validar:
| IDADE | RENDA |
|---|---|
| T | T |
| T | F |
| F | T |
| F | F |
Caso contrário, parte da lógica pode nunca ter sido exercitada.
4. Cobertura de caminhos (Path Coverage)
Aqui a brincadeira fica séria.
Imagine:
IF A
IF B
...
END-IF
END-IF
Agora existem vários caminhos:
A=T B=T
A=T B=F
A=F
Quanto mais IFs surgem, mais caminhos aparecem.
O crescimento é explosivo.
Por isso ninguém tenta cobrir absolutamente todos os caminhos em sistemas grandes.
O objetivo é cobrir os caminhos críticos.
O conceito mais importante do Mainframe
Cobertura de negócio
Esta é a cobertura que realmente paga as contas.
Perguntas:
Emissão de apólice funcionou?
Pagamento foi processado?
Cálculo de juros foi validado?
Baixa financeira foi testada?
Cancelamento foi exercitado?
O usuário não se importa se:
PERFORM 1000-PROCESSA
executou.
Ele se importa se o dinheiro caiu na conta correta.
Por isso:
Cobertura técnica sem cobertura funcional é uma ilusão perigosa.
Como construir um plano de teste abrangente
A técnica que uso para ensinar equipes é simples.
Divida os cenários em grupos.
Grupo 1 – Casos normais
Fluxo feliz.
O famoso Happy Path.
Exemplo:
Cliente válido.
Conta válida.
Saldo suficiente.
Arquivo disponível.
Tudo funcionando.
Esses testes validam o comportamento esperado.
Grupo 2 – Casos de fronteira
Aqui vivem os defeitos.
Exemplo:
Campo aceita:
0 a 999999
Testar:
0
1
999998
999999
Mas também:
-1
1000000
A maioria dos bugs aparece nos limites.
Grupo 3 – Casos inválidos
Todo sistema recebe lixo.
Você precisa descobrir como ele reage.
Exemplos:
CPF inválido.
Data inválida.
Arquivo vazio.
Campo nulo.
Código inexistente.
Registro duplicado.
Produção faz isso diariamente.
Seu teste também deve fazer.
Grupo 4 – Casos excepcionais
Os mais esquecidos.
Exemplo:
VSAM indisponível.
DB2 retornando erro.
Dataset cheio.
Timeout de CICS.
Lock de registro.
Fila MQ parada.
É justamente aqui que nascem os incidentes mais caros.
O método Bellacosa para testar COBOL
Quando olho um programa, sigo sempre esta sequência.
Entrada
O que entra?
Analise:
LINKAGE
COMMAREA
ARQUIVOS
DB2
MQ
VSAM
Liste tudo.
Processamento
O que acontece?
Mapeie:
IF
EVALUATE
PERFORM
GO TO
loops
Tudo que altera comportamento.
Saída
O que sai?
Arquivos.
Relatórios.
Tabelas.
Mensagens.
Retornos.
Abends.
Tudo deve ser validado.
A matriz de cobertura
Uma técnica extremamente poderosa.
Monte uma tabela.
| Regra | Testada |
|---|---|
| Regra 1 | Sim |
| Regra 2 | Sim |
| Regra 3 | Não |
| Regra 4 | Sim |
Agora faça o mesmo para:
programas
módulos
telas
transações
jobs
A matriz revela instantaneamente os buracos.
Cobertura para Batch
Em batch devemos validar:
Arquivo vazio
0 registros
Arquivo pequeno
10 registros
Arquivo médio
100.000 registros
Arquivo grande
10 milhões de registros
Registro inválido
Registro duplicado
Chave fora de sequência
Dataset inexistente
Espaço insuficiente
Return codes
Tudo isso precisa aparecer no plano.
Cobertura para CICS
Valide:
Entrada válida
Entrada inválida
PF Keys
Timeout
Commarea vazia
Commarea truncada
Falha de comunicação
Reentrada da transação
Muitos defeitos aparecem apenas em ambiente online.
Cobertura para DB2
Nunca teste apenas o SQLCODE 0.
Teste:
0
+100
-803
-811
-904
-911
-913
Grande parte dos problemas de produção surge justamente nos códigos de erro.
Cobertura para VSAM
Valide:
READ OK
NOT FOUND
DUPLICATE KEY
END OF FILE
OPEN ERROR
Muitos testes ignoram completamente os File Status.
Erro clássico.
Testes de performance também fazem parte da cobertura
Um programa pode estar funcionalmente correto.
Mas:
consumir CPU demais
gerar EXCP excessivo
aumentar elapsed time
E então falhar operacionalmente.
Portanto inclua:
volume realista
pico de carga
concorrência
consumo de recursos
Como medir cobertura no Mainframe
Hoje existem ferramentas especializadas.
Entre elas:
IBM Debug Tool
IBM Application Delivery Foundation
IBM Fault Analyzer
IBM Application Performance Analyzer
Compuware Topaz
Compuware Xpediter
Micro Focus Enterprise Analyzer
SonarQube para COBOL
Essas soluções conseguem mostrar:
linhas executadas
branches percorridos
percentuais de cobertura
áreas não testadas
Transformando percepção em números.
E números vencem opiniões.
A armadilha do 100%
Imagine:
IF VALOR > 1000
Você executa:
1001
e
999
Cobertura:
100%.
Mas você não testou:
1000
Exatamente o limite.
Portanto:
100% de cobertura não significa qualidade máxima.
Significa apenas que todos os pontos foram visitados.
O indicador que realmente importa
Depois de décadas observando projetos, cheguei a uma conclusão.
A melhor pergunta não é:
"Qual a cobertura?"
Mas:
"Qual o risco residual?"
Se uma rotina financeira movimenta bilhões:
95% pode ser insuficiente.
Se uma rotina gera relatório interno:
80% pode ser aceitável.
Cobertura deve ser analisada junto com criticidade.
A filosofia dos grandes times
Equipes maduras fazem quatro perguntas:
O que testamos?
O que não testamos?
Por que não testamos?
Qual o risco disso?
Quando essas respostas existem, o plano de teste deixa de ser um documento burocrático.
Ele vira uma ferramenta de gestão de risco.
Conclusão
O profissional júnior acredita que testar é executar casos.
O profissional experiente entende que testar é procurar defeitos.
E o veterano de Mainframe sabe algo ainda mais importante:
Cobertura não é uma porcentagem. É a medida da sua confiança antes de colocar um programa em produção.
Porque no mundo real ninguém é acordado às 3 da manhã por causa dos cenários que foram testados.
Somos acordados pelos cenários que esquecemos de testar.
E quase sempre eles estavam escondidos exatamente naquele IF, naquele SQLCODE, naquele File Status ou naquele registro de fronteira que alguém julgou improvável.
No Mainframe, assim como na aviação, o problema raramente está no voo que você simulou.
O problema está naquele que você acreditou que jamais aconteceria. ☕💣🚀
quinta-feira, 4 de janeiro de 2024
☕💣🔥 LABORATÓRIO PRÁTICO — TESTES DE PERFORMANCE PARA O PADAWAN COBOL MAINFRAME
| 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. ☕💣🚀

