Each database has at least one buffer pool (IBMDEFAULTBP, which is created when the database is created), and can have more. All buffer pools reside in global memory, which is available to all applications using the database. The memory is allocated on the machine where the database is located. If the buffer pools are large enough to keep the required data in memory, less disk activity will occur. Conversely, if the buffer pools are not large enough, the overall performance of the database can be severely curtailed and the database manager can become I/O-bound as a result of a high amount of disk activity (I/O) required to process the data your application requires.
The buffpage parameter controls the size of a buffer pool when the CREATE BUFFERPOOL or ALTER BUFFERPOOL statement was run with NPAGES -1; otherwise, the buffpage parameter is ignored and the buffer pool will be created with the number of pages specified by the NPAGES parameter.
To determine whether the buffpage parameter is active for a buffer pool, do a SELECT * from SYSIBM.SYSBUFFERPOOLS. Each buffer pool that has an NPAGES value of -1 uses buffpage.
Notes:
There is a trade-off between the buffer pool size and the memory allocations of other system users. Memory requirements of database servers are so important on multi-user high transaction rate servers, that database servers and file or communication servers are often separated and reside on different machines.
All buffer pools are allocated when the first application connects to the database, or when the database is explicitly activated. As an application requests data out of the database, pages containing that data are transferred to one of the buffer pools from disk. (Note that database data is stored in pages within the tables on the disk.) Pages are not written back to disk until one of the following occurs:
Recommendations:
Page swapping results when there is not enough memory to hold the page that is being accessed. The result is that the page is written ("swapped") to temporary disk storage to make room for the other page. When the page on the temporary disk storage is needed, it is "swapped back" into memory.
If the total size of the buffer pool (or buffer pools) is increased, you may also need to increase dbheap.
[ Top of Page | Table of Contents | Glossary | Index ]