You are on page 1of 4

5/1/23, 12:32 AM Storage estimate for group buffer pools that cache changed data - IBM Documentation

Storage estimate for group buffer pools


that cache changed data
Last Updated: 2023-01-18

The size of a group buffer pool is related to the amount of sharing and the amount of updating. You can
use a formula to estimate the storage size of group buffer pools that cache changed data.

An estimate must be based on the total amount of member buffer pool storage multiplied by a
percentage based on the amount of update activity. As data sharing and updating increases, more pages
must be cached in the group buffer pool, and more directory entries are needed to track inter-Db2
interest.

Formula
The following is a formula for estimating storage for group buffer pools that cache changed data:

Data_entries = U * D * R
Data(MB) = Data_entries * P / 1024
Dir_entries = Data_entries + (U * VP)
Dir(MB) = 1.1 * Dir_entries * 0.2 / 1024
GBP(MB) = Data(MB) + Dir(MB)
RATIO = Dir_entries / Data_entries

Where:

U
The estimated degree of data sharing:

1
A high amount of sharing with a lot of update activity
0.7
A moderate amount of sharing with a moderate amount of update activity
0.5
A low amount of sharing with a low amount of update activity

D
The number of data pages written to disk per second for all members during peak activity. Do not
use the number of pages written to the group buffer pool; D must be a count of distinct pages. To

https://www.ibm.com/docs/en/db2-for-zos/12?topic=gbps-storage-estimate-group-buffer-pools-that-cache-changed-data 1/4
5/1/23, 12:32 AM Storage estimate for group buffer pools that cache changed data - IBM Documentation

determine this value, use the field QBSTPCO from IFCID 0002 (the PAGES CASTOUT field of the
buffer pool section of the IBM OMEGAMON® for Db2 Performance Expert on z/OS® Statistics report.)
R
The average page residency time in the group buffer pool, in seconds. This value is application-
dependent, but you can assume that the typical range is 30 to 180 seconds. If you have no
information about residency time, use 120.

Tip: Make R large enough so that other members can refresh an invalidated local copy
of a changed page. When a changed page is written to the group buffer pool, it
invalidates local copies of the page in other members. The changed page needs to
remain resident in the group buffer pool long enough for other members to refresh the
page.

P
The page size (4 KB, 8 KB, 16 KB, or 32 KB).
VP
The number of data pages defined for the virtual pool (the sum across all of the members).
0.2
The approximate size of a directory entry, in KB.
1.1
The additional storage needed for coupling facility control structures.

Example
Assume that you have a two-member data sharing group for which you have determined the following
information:

– The degree of data sharing is very high (U=1).


– 500 disk writes per second occur across both members (D=500).
– No information exists about the page residency time (R=120).
– The page size is 4 KB (P=4).
– Member 1 is configured with a virtual pool of 80000 buffers.
– Member 2 is configured with a virtual pool of 40000 buffers (VP=120000).

The following calculation is used:

Data_entries = 1 * 500 * 120 = 60000


Data(MB) = 60000 * 4 / 1024 = 234 MB
Dir_entries = 60000 + (1 * 120000) = 180000
Dir(MB) = 1.1 * 180000 * 0.2 / 1024 = 38 MB

https://www.ibm.com/docs/en/db2-for-zos/12?topic=gbps-storage-estimate-group-buffer-pools-that-cache-changed-data 2/4
5/1/23, 12:32 AM Storage estimate for group buffer pools that cache changed data - IBM Documentation
GBP(MB) = 234 MB + 38 MB = 272 MB
RATIO = 180000 /60000 = 3.0

The preceding calculation indicates that the group buffer pool should be defined with an INITSIZE of 272
MB. Use the ALTER GROUPBUFFERPOOL command to change RATIO to 3.

General guideline
For installation planning purposes, you should use the following general guideline as an initial estimate
for the size of a Db2 group buffer pool for table spaces, indexes, or partitions that cache only changed
data (GBPCACHE(CHANGED)):

Add the local buffer pool storage for this buffer pool number across all the members of the group. Then,
multiply this amount by one of these workload factors:

Factor Condition

10% For light sharing with a low amount of updating activity

20% For medium sharing with a moderate amount of update activity

40% For a high amount of sharing with a lot of update activity

You can run a trace for IFCID 0002 to obtain an estimate of the amount of data sharing in your system.
Calculate the "degree of data sharing" by dividing QBGLGG, the number of get pages for group buffer
pool-dependent objects, by QBSTGET, the number of get pages. A value that is less than 25% is
considered to be light data sharing, a value between 25% and 75% is medium data sharing, and a value
greater than 75% is high data sharing.

Remember that the type of workload you run can influence the amount of storage you use. For example, if
you have “hot spots” in which updates to a single page are frequent rather than spread throughout the
table space, you might need less storage for caching.

Example
Assume that the total buffer pool storage for all the members of the group is 400 MB, and you expect a
medium amount of read/write sharing in the environment. The following calculation is an estimate for the
size of a group buffer pool when GBPCACHE(CHANGED):

400 MB x 20% = 80 MB

https://www.ibm.com/docs/en/db2-for-zos/12?topic=gbps-storage-estimate-group-buffer-pools-that-cache-changed-data 3/4
5/1/23, 12:32 AM Storage estimate for group buffer pools that cache changed data - IBM Documentation

Parent topic:
Group buffer pool sizes

https://www.ibm.com/docs/en/db2-for-zos/12?topic=gbps-storage-estimate-group-buffer-pools-that-cache-changed-data 4/4

You might also like