sexta-feira, fevereiro 04, 2011

Buffer Pool

O buffer pool do Natural é uma área de armazenamento usado pelo núcleo Natural para executar objetos catalogados em programação Natural. Quando um objeto Natural é solicitado para a execução, é lido a partir do file de Natural System (onde são armazenados os fontes de objetos Natural e executável - objetos catalogados) e colocado no conjunto de memória intermédia, onde ele pode ser utilizado por vários usuários simultaneamente. O seu tamanho influi diretamente no desempenho do Adabas em termos de CPU. Esta área, além de conter os blocos do Associator com FDT, FCB, HIPER INDEX é utilizada de forma a armazenar os blocos do DATA STORAGE lidos e a serem gravados novamente. É efetuada uma analise de frequencia de utilização de blocos de forma a manter em memoria pricipal de maior utilização, de forma a tornar desnecessária novas leituras em disco. O tamanho ideal seria tal que se mantivesse um nivel baixo de atividade no buffer pool, e que as gravações se dessem em tempo de close.

Vamos imaginar o buffer pool um grande quadrado (com tamanho x) com várias divisões cada quadrado tem y - vamos representar o Y por 2 mb, se algum processo for de 3 mb ele vai utilizar dois blocos de 2 - somando 4 mb o 1 mb restante ele não vai liberar para outro.
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+  
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
Acessando o SYSBPM para ver como esta o buffer pool
17:08:14        TID     8          COM641/D          User AA01055      22.09.10
                                 -- COM-PASS --                             USTS
        Suspended Programs                          Program Services            
---------------------------------       ---------------------------------------
Programs     Name     C Level  PF       Service Description    Programs  ID  PF
--------   --------   - -----  --       --------------------   --------  --  --
NCF414     SYSAOS     L  1 *            Logon/Logoff Utility   ULOG       A    
                          2              System Job Queue       UQ         B    
                          3              Test Editor Utility    UEDIT      C    
                          4              PDS Maint. Utility     UPDS       D    
                          5              Spooling System        USPOOL     E    
                          6              Message Sending        UM         F    
                          7              Natural de Producao    NATP       G    
                          8              Aplicacoes Natural     NAT2       H    
                          9              Dataset Maintenance    UDS        I    
                                                                                
Enter Input:                                                   HELP       ?    
dbax 240 sysbpm                                                                
-------------------------------------------------------------------------------
LU Name: TICS0702      HC TID:               Recall: =         Language: 001  
Devtype: 3279 V        Device: PICS0966     Suspend: <  PA1    Case    : UPPER
Lines  : 24               Key: PA2             Jump: NO NO                    
Columns: 80
A - Buffer Pool
17:08:27             ***** NATURAL SYSBPM UTILITY *****             22/09/2010
  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
G - General Buffer Pool Statistics
17:09:38             ***** NATURAL SYSBPM UTILITY *****             22/09/2010
  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
Resultado;
17:09:47             ***** NATURAL SYSBPM UTILITY *****             22/09/2010
  BPNAME NATGBP        - General Buffer Pool Statistics -        Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
                                                                                
Buffer Pool Address ..... 14EF9000      Buffer Pool Size (MB) ... 15,00        
  Directory Section ...... 00000400      Directory Entry Size .... 128          
  Text Record Section .... 000FD000      Text Record Size (KB) ... 2            
Dataspace attached ......                                                      
                                                                                
Initialization .......... 04:02:43    2010-07-13                              
Last Refresh ............ 04:02:43    2010-07-13        by User .. NATBPMG4    
                                                                                
  _______________________________ Text Records ______________________________  
          Total          Used   in %      Max Used    Total Size  Avg Usage %  
          7,174         6,953  96,91         7,174    14,239,744        88,16  
               _____________________ Objects ________________________________  
  Space Used %         Loaded           Max Loaded    Total Size  Avg TR Used  
         85,44          1,685                1,977    12,554,164          4,1  
               SumOfUseCounts AvgLifetimeUsed(min)    AvgLifetimeReplace(min)  
                          407                7,797                         80  
                                                                                
Command ===>                                                                  
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip        Load                    Canc
Observar - AVG USAGE % - SPACE USAGE %- - Sempre acima de 80 % é bom abaixo de 70% é ruim
17:11:10             ***** NATURAL SYSBPM UTILITY *****             22/09/2010
  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 .. p                                                          
                                                                                
                                                                                
                                                                                
Command ===>                                                                  
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip                                Canc
De PF3 para sair - Escolha a opção - P Performance Hints
17:12:58             ***** NATURAL SYSBPM UTILITY *****             22/09/2010
  BPNAME NATGBP              - Performance Hints -               Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
                                                                                
                                                                                
                                                            Rating              
                                                       (1=best - 6=worst)      
  Buffer Pool                                                                  
               Locates / Loads Ratio ......       374,20       2                
                                                                                
               Method=N not used                                                
                                                                                
  BP Cache                                                                      
                                                                                
  Cache not installed                                                          
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
Command ===>                                                                  
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip                                Canc
Lembrando que falamos acima; O tamanho ideal é que ele tenha e se mantenha em um nivel baixo de atividade no buffer pool, e que as gravações se dessem em tempo de close.

Detalhes sobre do Buffer Pool;
//STARTNAT EXEC PGM=NATGBP41,                                        
//   PARM='BPN=NATGBP,S=NAT4,N=(15M,XA,2),R=N'                      
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                              
//SYSUDUMP DD SYSOUT=A                                              
//GBPPRINT DD SYSOUT=A                                              
//SYSPRINT DD SYSOUT=A                                              
//* -----------------------------------------------------------------
//*             INICIALIZA O EDITOR DO BUFFER POOL DO NATURAL        
//* -----------------------------------------------------------------
//STARTEDT EXEC PGM=NATGBP41,                                        
//   PARM='BPN=EDTGBP,S=NAT4,T=EDIT,N=(4096,XA,2),R=N'              
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                              
//SYSUDUMP DD SYSOUT=A                                              
//GBPPRINT DD SYSOUT=A                                              
//SYSPRINT DD SYSOUT=A
No exemplo acima N=(15M,XA,2) o tamanho do buffer pool é 15 mega o número 2 significa que o espaço minimo que ele vai libarar, se um programa utilizar 3 megas (em vez de 15) o buffer pool vai liberar 4, ele vai criar dois blocos cada um com 2 megas.

Jobs para dar Display, start e stop do Buffer

Para dar display para ver o que esta rodando
MEMBER=GBEDSHOW 000011 REC SAVE:30.11.2005 08:34 BY   USERID AA01055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1021    
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                              
//*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                                                                          
//*
Start o Global Buffer Poll
MEMBER=GBNASTOP 000011 REC SAVE:30.11.2005 16:24 BY   USERID AA01055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1021    
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                              
//*JOBPARM LINES=9999                                                          
//* -----------------------------------                                        
//*   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                                                            
//*
Start o Editor
MEMBER=GBEDSTRT 000011 REC SAVE:07.12.2005 11:18 BY   USERID AA01055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1021    
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFSEGBP JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                              
//*UQ ALLOW                                                                    
//* --------------------------------------------------                          
//*         START EDITOR GLOBAL BUFFER POOL                                    
//* --------------------------------------------------                          
//STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT'                                
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                        
//SYSUDUMP DD SYSOUT=*                                                          
//STARTEDT DD *                                                                
C,BPN=EDTGBP,S=NAT4,T=EDIT,N=(4096,XA,4)                                        
//*
Stop o Editor
MEMBER=GBEDSTOP 000011 REC SAVE:03.01.2006 15:31 BY   USERID AA01055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1021    
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                              
//*UQ ALLOW                                                                    
//* -----------------------------------                                        
//*   STOP EDITOR GLOBAL BUFFER POOL                                            
//* -----------------------------------                                        
//STOPEDT  EXEC PGM=NATGBP41,PARM='CF=STOPEDT'                                  
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                        
//SYSUDUMP DD SYSOUT=*                                                          
//STOPEDT  DD *                                                                
F,BPN=EDTGBP,S=NAT4                                                            
//*
Stop o Global Buffer Pool
MEMBER=GBNASTOP 000011 REC SAVE:30.11.2005 16:24 BY   USERID AA01055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1021    
....+....1....+....2....+....3....+....4....+....5....+....6
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                              
//*JOBPARM LINES=9999                                                          
//* -----------------------------------                                        
//*   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                                                            
//*

0 comentários:

Enviar um comentário