Buffer pool simulation results

After you run a buffer pool simulation, you need to interpret the output to determine how to modify your buffer pool sizes.

Begin program-specific programming interface information.

When you run a workload with simulated buffer pools enabled, the Db2 database manager collects statistics on simulated buffer pools if you take one of the following actions:

  • Start a class 1 statistics trace for IFCID 0002 before you began a simulation

    A data section that is mapped by macro DSNDQBSP records the simulated buffer pool information.

  • Issue the following command after you activate simulated buffer pools and run a workload:
    -DISPLAY BUFFERPOOL(bpname) DETAIL

The first information for which you can use the simulation output is to compare the number of pages in the simulated buffer pool that were allocated to the number of pages that were used. The following example shows this information in DISPLAY BUFFERPOOL output:

DSNB431I  -DB2A SIMULATED BUFFER POOL SIZE = 50000 BUFFERS -      
             ALLOCATED       =    50000                              
             IN-USE          =    34999   HIGH IN-USE     =    35000 
             SEQ-IN-USE      =    30469   HIGH SEQ-IN-USE =    34978 

This output shows that if 50000 buffers were allocated, only 35000 would be used, so the number of buffers could be increased by 35000.

Given this information, your next step would be to increase the virtual buffer pool size by 35000.

Avoidable page read operations

You can also use the simulation output to determine how often page read I/O operations could have been avoided. The following example, which is the result of a simulation in a data sharing environment, shows the information in DISPLAY BUFFERPOOL DETAIL output:

DSNB432I  -CEA1 SIMULATED BUFFER POOL ACTIVITY -                 
             AVOIDABLE READ I/O -                                
               SYNC    FROM DASD (R) =8425678                        
               SYNC    FROM DASD (S) =102357                         
               ASYNC   FROM DASD     =1184257                       
               SYNC    FROM GBP (R)  =894062                        
               SYNC    FROM GBP (S)  =2747                          
               ASYNC   FROM GBP      = 53212                         
             PAGES MOVED INTO SIMULATED BUFFER POOL =12257444     
             TOTAL AVOIDABLE SYNC I/O DELAY =4275760 MILLISECONDS 

Th DSNB432I output shows the numbers of page accesses that the buffer pool simulation determined could be avoided, for various types of read activity.

When you specify the DETAIL option, the output includes statistics on activity in the simulated buffer pool, including the numbers of page accesses that the buffer pool simulation determined could be avoided, for various types of read activity.

DSNB432I - SIMULATED BUFFER POOL ACTIVITY -
             AVOIDABLE READ PAGE MISSES - 
               SYNC    FROM DASD (R) = pages-sync-rand-dasd
               SYNC    FROM DASD (S) = pages-sync-seq-dasd
               ASYNC   FROM DASD     = pages-async-dasd
               SYNC    FROM GBP (R)  = pages-sync-rand-gbp 
               SYNC    FROM GBP (S)  = pages-sync-seq-gbp 
               ASYNC   FROM GBP      = pages-async-gbp 
             PAGES MOVED INTO SIMULATED BUFFER POOL = pages-to-sim-bp 
             TOTAL AVOIDABLE SYNC I/O DELAY = sync-io-delay MILLISECONDS
pages-sync-rand-dasd
The number of pages accessed randomly by avoidable synchronous read I/O from disk.
pages-sync-seq-dasd
The number of pages accessed sequentially by avoidable synchronous read I/O from disk.
pages-async-dasd
The number of pages prefetched by avoidable asynchronous read I/O from disk.
pages-sync-rand-gbp
The number of pages accessed randomly by avoidable synchronous read from the group buffer pool..
pages-sync-seq-gbp
The number of pages accessed sequentially by avoidable synchronous read from the group buffer pool.
pages-async-gbp
The number of pages accessed by avoidable asynchronous read from the group buffer pool.
pages-to-sim-bp
The number of pages that were logically moved from the virtual buffer pool into the simulated buffer pool.
sync-io-delay
The total time in milliseconds that the buffer pool simulation determined would be spent waiting for synchronous read I/O from disk.

The most important statistic from the simulation is that a large number of synchronous read I/O operations for randomly accessed pages could have been avoided.

Given this information, your next step would be to increase the SPSIZE value to see whether you can significantly decrease the numbers for the avoidable operations.

End program-specific programming interface information.