Em ambientes Mainframe que utilizam Natural e Adabas, o desempenho das aplicações não depende apenas da capacidade dos processadores ou da velocidade dos dispositivos de armazenamento. Existem diversos componentes envolvidos nessa equação, e um deles possui um papel fundamental: o Buffer Pool. De forma simplificada, podemos imaginar o Buffer Pool como uma “área de trabalho rápida” localizada na memória. Ele permite que determinados objetos (programas natural) necessários à execução das aplicações permaneçam disponíveis em memória, evitando que o sistema precise recorrer continuamente a áreas de armazenamento mais lentas. Essa estratégia reduz operações de I/O e pode contribuir significativamente para o desempenho e a eficiência do ambiente. No Natural, o Buffer Pool é utilizado para manter em memória objetos carregados durante a execução das aplicações, como programas, subprogramas, mapas e outros objetos Natural. Dessa forma, aplicações que são executadas repetidamente podem se beneficiar da disponibilidade desses objetos em memória. Já o Adabas possui seus próprios mecanismos de buffering, utilizados para otimizar o acesso aos dados e às estruturas de índice do banco de dados. Embora Natural e Adabas trabalhem de forma integrada, é importante entender que estamos falando de mecanismos de buffer distintos, cada um com sua finalidade dentro da arquitetura. Por esse motivo, acompanhar o comportamento do Natural Buffer Pool é uma atividade importante para quem administra, mantém ou monitora ambientes Natural/Adabas. Através do SYSBPM, podemos observar diversos indicadores que ajudam a entender como o espaço disponível está sendo utilizado, entre eles Space Used %, Text Records, Objects, Loaded e Max Loaded. Esses indicadores permitem acompanhar a evolução da utilização do Buffer Pool, identificar possíveis sinais de pressão sobre seus recursos e avaliar, quando necessário, a possibilidade de ampliar sua capacidade. Neste artigo, vamos entender o que é o Buffer Pool, o que é armazenado nessa área de memória, como interpretar os principais indicadores apresentados pelo SYSBPM e por que seu monitoramento é importante para manter a estabilidade, a disponibilidade e o desempenho das aplicações Natural em um ambiente Mainframe.
Opção G
Display completo do buffer pool - Repare no "Space Used"
O Space Used esta em 89% é atenção alta
Antes estava com 40M
Vai dar uma pendencia na console - xx,y
Respondendo a pendencia na console 04,y
Resultado
Antes estava com 40M agora esta com 80
Display Buffer Pool
Acessando o buffer pool - opção A 21:49:04 ***** NATURAL SYSBPM UTILITY ***** 02/10/2021
BPNAME NATGBP - Main Menu - Type Global Nat
BPPROP OFF Loc CPAC NAT4
Object Functions Object Pool Statistics
L List Objects A Buffer Pool
D Delete Objects C BP Cache
I Directory Information
H Hexadecimal Display Other Functions
W Write to Work File
X Display Sorted Extract S Select Buffer Pool
? Help B Blacklist Maintenance
. Exit P Preload List Maintenance
Code .. a Library ... *_______
Object .... *_______________________________________
DBID ...... 0____ FNR .. 0____ Object Pool ... * (B,C,*)
Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Exit Last Flip Canc
Opção G
21:49:16 ***** NATURAL SYSBPM UTILITY ***** 02/10/2021
BPNAME NATGBP - Buffer Pool Statistics - Type Global Nat
BPPROP OFF Loc CPAC NAT4
Code Function
G General Buffer Pool Statistics
L Buffer Pool Load/Locate Statistics
F Buffer Pool Fragmentation
I Internal Function Usage
H Buffer Pool Hash Table Statistics
P Performance Hints
? Help
. Exit
Code .. g
Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Exit Last Flip Canc
Display completo do buffer pool - Repare no "Space Used"
12:38:32 ***** NATURAL SYSBPM UTILITY ***** 01/06/2021
BPNAME NATGBP - General Buffer Pool Statistics - Type Global Nat
BPPROP OFF Loc CPAC NAT4
Buffer Pool Address ..... 13C63000 Buffer Pool Size (MB) ... 25,00
Directory Section ...... 00000400 Directory Entry Size .... 128
Text Record Section .... 001A5000 Text Record Size (KB) ... 2
Dataspace attached ......
Initialization .......... 23:20:13 2025-12-06
Last Refresh ............ 23:20:13 2025-12-06 by User .. NATBPMG4
_______________________________ Text Records ______________________________
Total Used in % Max Used Total Size Avg Usage %
11,958 11,785 98,55 11,956 24,135,680 90,47
_____________________ Objects ________________________________
Space Used % Loaded Max Loaded Total Size Avg TR Used
89,16 2,301 2,777 21,836,723 5,1
SumOfUseCounts AvgLifetimeUsed(min) AvgLifetimeReplace(min)
880 4,643 804
Command ===>
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Help Exit Last Flip Load Canc
O Space Used esta em 89% é atenção alta
+--------------+---------------+---------------------------------------------------+ | Space Used % | Situação | Interpretação | +--------------+---------------+---------------------------------------------------+ | 0% até 50% | Excelente | Muito espaço disponível | | 50% até 70% | Bom | Operação tranquila | | 70% até 80% | Atenção | Começa a acompanhar a evolução | | 80% até 90% | Atenção alta | Buffer Pool ficando bastante ocupado | | 90% até 95% | Crítico | Pouca folga; avaliar aumento | | 95% até 100% | Muito crítico | Próximo do limite, risco de substituição/pressão | +--------------+---------------+---------------------------------------------------+
Mudando o Tamanho da Buffer Pool
Durante o monitoramento do Natural Buffer Pool, identificamos que o indicador Space Used % atingiu aproximadamente 89% de utilização. Embora esse percentual não represente, por si só, uma situação de falha, ele indica que o Buffer Pool está trabalhando com pouca folga e merece atenção. Atualmente, o ambiente possui 40 MB de memória disponibilizados para o Buffer Pool. Para aumentar a margem de segurança e proporcionar mais espaço para o carregamento e permanência dos objetos Natural, a capacidade será ampliada para 80 MB. A ideia é simples: mais espaço disponível significa maior folga para o Buffer Pool trabalhar, reduzindo a pressão sobre suas áreas internas e permitindo acompanhar com mais tranquilidade o crescimento da utilização. Após a alteração, será importante observar novamente os indicadores do SYSBPM, principalmente o Space Used %, o consumo dos Text Records, a quantidade de Objects Loaded e o Max Loaded. Mais do que simplesmente aumentar a memória, o objetivo é medir o comportamento do ambiente antes e depois da mudança. Dessa forma, conseguimos verificar na prática qual foi o impacto do aumento de 40 MB para 80 MB e determinar se a nova capacidade proporciona a margem necessária para o crescimento futuro das aplicações Natural. Em outras palavras, não estamos esperando o Buffer Pool chegar ao seu limite para agir. A ideia é antecipar a necessidade e trabalhar com uma margem de segurança maior.Display Buffer Pool
Para a gente visualizar a Buffer Pool ativas;MEMBER=GBEDSHOW 000011 REC SAVE:23.01.2021 09:40 BY USERID DBA0055 R=00000001 DSN=NATURAL.V414.JOBS VOL=PRL302 UNIT=1525 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 //AAFSNATB JOB (AAFP,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD //*UQ ALLOW //* ----------------------------------------------------------- //* VERIFICAR SE O BUFFER POOL ESTA NO AR //* ----------------------------------------------------------- //STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT' //STEPLIB DD DSN=ADA5.LOADLIB,DISP=SHR //SYSUDUMP DD SYSOUT=* //STARTEDT DD * SHOWBP //*
Antes estava com 40M
1 J E S 2 J O B L O G -- S Y S T E M C P A C -- N O D E J E S 2 0 18.16.03 JOB01104 ---- SATURDAY, 03 OCT 2021 ---- 18.16.03 JOB01104 ICH70001I DBA0055 LAST ACCESS AT 18:10:40 ON SATURDAY, OCTOBER 3, 2021 18.16.03 JOB01104 $HASP373 AAFSNATB STARTED - INIT K - CLASS S - SYS CPAC 18.16.03 JOB01104 IEF403I AAFSNATB - STARTED - TIME=18.16.03 18.16.03 JOB01104 GBP0101 AAFSNATB: Specified parms: CF=STARTEDT 18.16.03 JOB01104 GBP0201 AAFSNATB: Reading parm input from file STARTEDT 18.16.03 JOB01104 GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414 18.16.03 JOB01104 GBP0103 AAFSNATB: Input from file: SHOWBP 18.16.03 JOB01104 GBP0131 AAFSNATB: List of all global buffer pools with SUBSID: NAT4 18.16.03 JOB01104 GBP0132 AAFSNATB: BP-Name/SUBSID Size(KB) A(GBP) A(DIR) ALET Cache Size Cache Owner 18.16.03 JOB01104 GBP0000 AAFSNATB: NATGBP /NAT4 40.600 13C63000 1581EA20 18.16.03 JOB01104 GBP0000 AAFSNATB: EDTGBP /NAT4 4.096 13862000 1581EA90 18.16.03 JOB01104 GBP0202 AAFSNATB: EOF encountered reading file STARTEDT 18.16.03 JOB01104 - --TIMINGS (MINS.)-- -----PAGING COUNTS---- 18.16.03 JOB01104 -STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV WORKLOAD PAGE SWAP VIO SWAPS 18.16.03 JOB01104 -STARTEDT 00 28 7 .00 .00 .0 1038 SYSTEM 0 0 0 0 18.16.03 JOB01104 IEF404I AAFSNATB - ENDED - TIME=18.16.03 18.16.03 JOB01104 -AAFSNATB ENDED. NAME-CLAUD TOTAL TCB CPU TIME= .00 TOTAL ELAPSED TIME= .0 18.16.03 JOB01104 $HASP395 AAFSNATB ENDED 0------ JES2 JOB STATISTICS ------ - 03 OCT 2021 JOB EXECUTION DATE - 13 CARDS READ - 54 SYSOUT PRINT RECORDS - 0 SYSOUT PUNCH RECORDS - 3 SYSOUT SPOOL KBYTES - 0.00 MINUTES EXECUTION TIME UQS0009 - END OF DATASET.
Stop Buffer Pool
Este é o job que vai pararMEMBER=GBNASTOP 000011 REC SAVE:23.01.2021 11:17 BY USERID DBA0055 R=00000001 DSN=NATURAL.V414.JOBS VOL=PRL302 UNIT=1525 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 //AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A //*UQ ALLOW //* -------------------------------------------------------- //* STOP NATURAL GLOBAL BUFFER POOL //* -------------------------------------------------------- //STOPNAT EXEC PGM=NATGBP41,PARM='CF=STOPNAT' //STEPLIB DD DSN=ADA5.LOADLIB,DISP=SHR //SYSUDUMP DD SYSOUT=* //STOPNAT DD * F,BPN=NATGBP,S=NAT4 //*
Vai dar uma pendencia na console - xx,y
1 J E S 2 J O B L O G -- S Y S T E M C P A C -- N O D E J E S 2 0 18.22.51 JOB01134 ---- SATURDAY, 03 OCT 2021 ---- 18.22.51 JOB01134 ICH70001I DBA0055 LAST ACCESS AT 18:16:12 ON SATURDAY, OCTOBER 3, 2021 18.22.51 JOB01134 $HASP373 AAFSNATB STARTED - INIT K - CLASS S - SYS CPAC 18.22.51 JOB01134 IEF403I AAFSNATB - STARTED - TIME=18.22.51 18.22.51 JOB01134 GBP0101 AAFSNATB: Specified parms: CF=STOPNAT 18.22.51 JOB01134 GBP0201 AAFSNATB: Reading parm input from file STOPNAT 18.22.51 JOB01134 GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414 18.22.51 JOB01134 GBP0103 AAFSNATB: Input from file: F,BPN=NATGBP,S=NAT4 18.22.51 JOB01134 GBP0115 AAFSNATB: GBP still in use: NATGBP /NAT4 - DIR=1581EA20 ADDR=13C63000 18.22.51 JOB01134 *04 GBP0118 AAFSNATB: Reply Y to force shutdown of GBP 18.23.25 JOB01134 R 04,Y 18.23.25 JOB01134 GBP0113 AAFSNATB: GBP stopped: NATGBP /NAT4 - DIR=1581EA20 ADDR=13C63000 18.23.25 JOB01134 GBP0202 AAFSNATB: EOF encountered reading file STOPNAT 18.23.25 JOB01134 - --TIMINGS (MINS.)-- -----PAGING COUNTS---- 18.23.25 JOB01134 -STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV WORKLOAD PAGE SWAP VIO SWAPS 18.23.25 JOB01134 -STOPNAT 00 28 8 .00 .00 .5 3393 SYSTEM 0 0 0 0 18.23.25 JOB01134 IEF404I AAFSNATB - ENDED - TIME=18.23.25 18.23.25 JOB01134 -AAFSNATB ENDED. NAME-DIBD TOTAL TCB CPU TIME= .00 TOTAL ELAPSED TIME= .5 18.23.25 JOB01134 $HASP395 AAFSNATB ENDED 0------ JES2 JOB STATISTICS ------ - 03 OCT 2021 JOB EXECUTION DATE - 13 CARDS READ - 54 SYSOUT PRINT RECORDS - 0 SYSOUT PUNCH RECORDS - 3 SYSOUT SPOOL KBYTES - 0.56 MINUTES EXECUTION TIME UQS0009 - END OF DATASET.
Respondendo a pendencia na console 04,y
14:15:24 TID 13 COM641/D User DBA0055 07.10.21
--- System Messages --- UQM1
JOB00878 -NATURAL NATURAL 00 553 132 .00 .00 .0 5833 B
JOB00878 IEF404I AEBPREST - ENDED - TIME=14.15.20
JOB00878 -AEBPREST ENDED. NAME-DETRAN TOTAL TCB CPU TIME= .0
JOB00878 $HASP395 AEBPREST ENDED
$HASP309 INIT M INACTIVE ******** C=2
JOB00878 $HASP250 AEBPREST PURGED -- (JOB KEY WAS E364F432)
STC02176 COMVTM2020-P LOSTERM LU=TICSI025 Tid=299 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI024 Tid=698 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI027 Tid=299 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI028 Tid=416 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI029 Tid=299 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI031 Tid=299 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI032 Tid=416 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI215 Tid=552 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI033 Tid=416 Code=20
STC02176 COMVTM2020-P LOSTERM LU=TICSI039 Tid=418 Code=20
STC06673 *95 DF3001A *** RVS 5.1 ***
JOB01134 *04 GBP0118 AAFSNATB: Reply Y to force shutdown of GBP
******************************** BOTTOM OF DATA *******************************
Select Function: CONSOLE
Operand/Command: 04,y
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
Retrv Up Down Left Right
Start Buffer Pool
Este é o job que vai iniciar - 25MMEMBER=GBEDSTRT 000011 REC SAVE:23.01.2021 11:17 BY USERID DBA0055 R=00000001 DSN=NATURAL.V414.JOBS VOL=PRL302 UNIT=1525 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 //AAFSEGBP JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A //*UQ ALLOW //* -------------------------------------------------- //* START EDITOR GLOBAL BUFFER POOL //* -------------------------------------------------- //STARTNAT EXEC PGM=NATGBP41, // PARM='BPN=NATGBP,S=NAT4,N=(80M,XA,2),R=N' //STEPLIB DD DSN=ADA5.LOADLIB,DISP=SHR //SYSUDUMP DD SYSOUT=A //GBPPRINT DD SYSOUT=A //SYSPRINT DD SYSOUT=A
Resultado
1 J E S 2 J O B L O G -- S Y S T E M C P A C -- N O D E J E S 2 0 18.24.51 JOB01136 ---- SATURDAY, 03 OCT 2021 ---- 18.24.51 JOB01136 ICH70001I DBA0055 LAST ACCESS AT 18:22:51 ON SATURDAY, OCTOBER 3, 2021 18.24.51 JOB01136 $HASP373 AAFSEGBP STARTED - INIT K - CLASS S - SYS CPAC 18.24.51 JOB01136 IEF403I AAFSEGBP - STARTED - TIME=18.24.51 18.24.51 JOB01136 GBP0199 AAFSEGBP: Natural Global Buffer Pool Manager Version 414 18.24.51 JOB01136 GBP0101 AAFSEGBP: Specified parms: BPN=NATGBP,S=NAT4,N=(40M,XA,2),R=N 18.24.51 JOB01136 GBP0111 AAFSEGBP: GBP active: NATGBP /NAT4 - DIR=1581EA20 ADDR=0FC71000 18.24.51 JOB01136 - --TIMINGS (MINS.)-- -----PAGING COUNTS---- 18.24.51 JOB01136 -STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV WORKLOAD PAGE SWAP VIO SWAPS 18.24.51 JOB01136 -STARTNAT 00 26 10 .00 .00 .0 1352 BATCH 0 0 0 0 18.24.51 JOB01136 IEF404I AAFSEGBP - ENDED - TIME=18.24.51 18.24.51 JOB01136 -AAFSEGBP ENDED. NAME-DIBD TOTAL TCB CPU TIME= .00 TOTAL ELAPSED TIME= .0 18.24.51 JOB01136 $HASP395 AAFSEGBP ENDED 0------ JES2 JOB STATISTICS ------ - 03 OCT 2021 JOB EXECUTION DATE - 13 CARDS READ - 51 SYSOUT PRINT RECORDS - 0 SYSOUT PUNCH RECORDS - 3 SYSOUT SPOOL KBYTES - 0.00 MINUTES EXECUTION TIME UQS0009 - END OF DATASET.
Display Buffer Pool
Para a gente visualizar a Buffer Pool ativas;MEMBER=GBEDSHOW 000011 REC SAVE:23.01.2021 09:40 BY USERID DBA0055 R=00000001 DSN=NATURAL.V414.JOBS VOL=PRL302 UNIT=1525 ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 //AAFSNATB JOB (AAFP,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD //*UQ ALLOW //* ----------------------------------------------------------- //* VERIFICAR SE O BUFFER POOL ESTA NO AR //* ----------------------------------------------------------- //STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT' //STEPLIB DD DSN=ADA5.LOADLIB,DISP=SHR //SYSUDUMP DD SYSOUT=* //STARTEDT DD * SHOWBP //*
Antes estava com 40M agora esta com 80
1 J E S 2 J O B L O G -- S Y S T E M C P A C -- N O D E J E S 2 0 18.25.20 JOB01137 ---- SATURDAY, 03 OCT 2021 ---- 18.25.20 JOB01137 ICH70001I DBA0055 LAST ACCESS AT 18:24:51 ON SATURDAY, OCTOBER 3, 2021 18.25.20 JOB01137 $HASP373 AAFSNATB STARTED - INIT K - CLASS S - SYS CPAC 18.25.20 JOB01137 IEF403I AAFSNATB - STARTED - TIME=18.25.20 18.25.20 JOB01137 GBP0101 AAFSNATB: Specified parms: CF=STARTEDT 18.25.20 JOB01137 GBP0201 AAFSNATB: Reading parm input from file STARTEDT 18.25.20 JOB01137 GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414 18.25.20 JOB01137 GBP0103 AAFSNATB: Input from file: SHOWBP 18.25.20 JOB01137 GBP0131 AAFSNATB: List of all global buffer pools with SUBSID: NAT4 18.25.20 JOB01137 GBP0132 AAFSNATB: BP-Name/SUBSID Size(KB) A(GBP) A(DIR) ALET Cache Size Cache Owner 18.25.20 JOB01137 GBP0000 AAFSNATB: NATGBP /NAT4 80.960 0FC71000 1581EA20 18.25.20 JOB01137 GBP0000 AAFSNATB: EDTGBP /NAT4 4.096 13862000 1581EA90 18.25.20 JOB01137 GBP0202 AAFSNATB: EOF encountered reading file STARTEDT 18.25.20 JOB01137 - --TIMINGS (MINS.)-- -----PAGING COUNTS---- 18.25.20 JOB01137 -STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV WORKLOAD PAGE SWAP VIO SWAPS 18.25.20 JOB01137 -STARTEDT 00 28 7 .00 .00 .0 976 SYSTEM 0 0 0 0 18.25.20 JOB01137 IEF404I AAFSNATB - ENDED - TIME=18.25.20 18.25.20 JOB01137 -AAFSNATB ENDED. NAME-CLAUD TOTAL TCB CPU TIME= .00 TOTAL ELAPSED TIME= .0 18.25.20 JOB01137 $HASP395 AAFSNATB ENDED 0------ JES2 JOB STATISTICS ------ - 03 OCT 2021 JOB EXECUTION DATE - 13 CARDS READ - 54 SYSOUT PRINT RECORDS - 0 SYSOUT PUNCH RECORDS - 3 SYSOUT SPOOL KBYTES - 0.00 MINUTES EXECUTION TIME UQS0009 - END OF DATASET.



0 Comments:
Enviar um comentário