IO / Prefetchers
Purpose
Prefetchers view shows the usage and performance of prefetchers.
The purpose of prefetching system is to retrieve data from physical storage to have it available at the time it is required by tasks running in the database. It depends on prefetchers to read data from the I/O subsystem.
Screenshot
![image image](/dmctop-wiki/static/76f6dd70fd51e155b4ea6902093ca095/3cbba/prefetchers.png)
Metric shown
Bufferpool name
The buffer pool identifier for the buffer pool that is being monitored.
Source: MON_GET_BUFFERPOOL(”, #MEMBER#).BP_NAME
Prefetch ratio %
The percentage of pages which have been asynchronously read from the table space containers (physical).
= ASYNC_READS / P_READS
Source:
ASYNC_READS = MON_GET_BUFFERPOOL(”, #MEMBER#).(SUM(POOL_ASYNC_DATA_READS) + SUM(POOL_ASYNC_INDEX_READS) + SUM(POOL_ASYNC_XDA_READS) + SUM(POOL_ASYNC_COL_READS))
P_READS = MON_GET_BUFFERPOOL(”, #MEMBER#).(SUM(POOL_DATA_P_READS) + SUM(POOL_INDEX_P_READS) + SUM(POOL_XDA_P_READS) + SUM(POOL_COL_P_READS) + SUM(POOL_TEMP_DATA_P_READS) + SUM(POOL_TEMP_INDEX_P_READS) + SUM(POOL_TEMP_XDA_P_READS) + SUM(POOL_TEMP_COL_P_READS))
Cleaner ratio %
The percentage of times a page was physically written to disk by either an asynchronous page cleaner, or a prefetcher.
= ASYNC_WRITES / POOL_WRITES
Source:
ASYNC_WRITES = MON_GET_BUFFERPOOL(”, #MEMBER#).(SUM(POOL_ASYNC_DATA_WRITES) + SUM(POOL_ASYNC_INDEX_WRITES) + SUM(POOL_ASYNC_XDA_WRITES) + SUM(POOL_ASYNC_COL_WRITES))
POOL_WRITES = MON_GET_BUFFERPOOL(”, #MEMBER#).(SUM(POOL_DATA_WRITES) + SUM(POOL_INDEX_WRITES) + SUM(POOL_XDA_WRITES) + SUM(POOL_COL_WRITES))
Physical reads
The number of pages read in from the table space containers (physical).
Source: MON_GET_BUFFERPOOL(NULL, #MEMBER#).(SUM(POOL_DATA_P_READS) + SUM(POOL_INDEX_P_READS) + SUM(POOL_XDA_P_READS) + SUM(POOL_COL_P_READS) + SUM(POOL_TEMP_DATA_P_READS) + SUM(POOL_TEMP_INDEX_P_READS) + SUM(POOL_TEMP_XDA_P_READS) + SUM(POOL_TEMP_COL_P_READS))
Asynchronous reads
The number of pages which have been asynchronously read from the table space containers (physical).
Source: MON_GET_BUFFERPOOL(”, #MEMBER#).(SUM(POOL_ASYNC_DATA_READS) + SUM(POOL_ASYNC_INDEX_READS) + SUM(POOL_ASYNC_XDA_READS) + SUM(POOL_ASYNC_COL_READS))
Prefetch waits time
The average time an application spent waiting for an I/O server (prefetcher) to finish loading pages into the buffer pool.
= PREFETCH_WAIT_TIME / PREFETCH_WAITS
Source:
PREFETCH_WAIT_TIME = MON_GET_BUFFERPOOL(”, #MEMBER#).SUM(PREFETCH_WAIT_TIME)
PREFETCH_WAITS = MON_GET_BUFFERPOOL(”, #MEMBER#).SUM(PREFETCH_WAITS)
Unread pref pages
The number of pages that the prefetcher read into the bufferpool that were never used.
Source: MON_GET_BUFFERPOOL(”, #MEMBER#).SUM(UNREAD_PREFETCH_PAGES)