☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta FREESPACE. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta FREESPACE. Mostrar todas as mensagens

segunda-feira, 13 de abril de 2026

🔧 Laboratório Prático – Tuning de VSAM no z/OS

 

Bellacosa Mainframe em mão na massa tuning de VSAM

🔧 Laboratório Prático – Tuning de VSAM no z/OS

🎯 Objetivo do Lab

  • Melhorar desempenho de datasets VSAM
  • Reduzir splits de CI/CA
  • Otimizar acesso por chave
  • Ajustar buffers e freespace
  • Diagnosticar gargalos reais

Tudo isso no contexto de IBM z/OS, usando Virtual Storage Access Method e utilitários como IDCAMS.


🧱 Lab 1 — Diagnóstico inicial (onde dói?)

Antes de mexer, descubra o estado real do dataset.

Passo 1 — Obter estatísticas reais

//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTCAT ENTRIES(MEU.VSAM.KSDS) ALL
/*

O que observar

  • CI/CA splits
  • Freespace atual
  • Tamanho médio de registros
  • Número de extents
  • Buffering atual

⚠️ Se você não mede, você só está chutando.


⚡ Lab 2 — Reduzindo CI Splits (onde mora a dor)

CI Split = fragmentação = I/O extra = usuário bravo.

Situação comum

Dataset crescendo e inserções frequentes no meio do arquivo.

Ação — Ajustar FREESPACE

//SYSIN DD *
ALTER MEU.VSAM.KSDS
FREESPACE(20 10)
/*
  • 20% livre em cada CI
  • 10% livre em cada CA

Isso dá “espaço de manobra” para inserções sem quebrar tudo.


🚀 Lab 3 — Buffers: o turbo escondido

Buffers mal configurados matam performance silenciosamente.

Verifique no JCL da aplicação:

//DD1 DD DSN=MEU.VSAM.KSDS,DISP=SHR,AMP='BUFND=20,BUFNI=10'
  • BUFND → dados
  • BUFNI → índice

📈 Regra prática:

  • Aplicações intensivas em leitura → aumente BUFND
  • Acesso por chave → aumente BUFNI

🧪 Lab 4 — Reorganização (o reset saudável)

Com o tempo, fragmentação vira regra.

Backup e Reorg

//REPRO EXEC PGM=IDCAMS
//SYSIN DD *
REPRO INFILE(OLD) OUTFILE(NEW)
/*

✔ Remove fragmentação
✔ Reequilibra índices
✔ Melhora I/O


🧠 Lab 5 — Escolha do tipo certo de dataset

Nem tudo é KSDS.

  • Muitas inserções sequenciais? → considere ESDS
  • Acesso por posição fixa? → RRDS
  • Acesso por chave intenso? → KSDS

Escolher errado custa caro.


🧩 Lab 6 — Medindo impacto (antes x depois)

Sempre compare:

  • tempo de resposta
  • I/O count
  • splits por hora
  • consumo de CPU

Sem isso, não é tuning — é fé.


💣 Erros clássicos (até de sênior)

  • Aumentar buffers sem medir impacto
  • Ignorar freespace
  • Reorg sem revisar parâmetros
  • Copiar parâmetros de outro sistema “porque lá funciona”

Cada ambiente é único.


🏁 Resultado esperado

Se fizer certo, você verá:

  • menos splits
  • menos I/O
  • menor tempo de resposta
  • usuários mais felizes (e menos incidentes às 2h da manhã 😄)

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...