After setting up your buffer pools, you will want to
regularly monitor your configuration for performance. The most rudimentary way
of doing this is using the -DISPLAY BUFFERPOOL command. There are many options
of the DISPLAY command that can be used to show different characteristics of
your buffer pool environment; the simplest is the summary report, requested as
follows:
-DISPLAY BUFFERPOOL(BP0)
LIST(*) DBNAME(DSN8*)
And a truncated version of the results will look something
like this:
DSNB401I - BUFFERPOOL NAME BP0,
BUFFERPOOL ID 0, USE COUNT 20
DSNB402I - VIRTUAL BUFFERPOOL
SIZE = 500 BUFFERS 736
ALLOCATED = 500 TO BE DELETED = 0
IN-USE/UPDATED = 0
DSNB404I - THRESHOLDS - 739
VP SEQUENTIAL = 80
HP SEQUENTIAL = 75
DEFERRED WRITE = 85
VERTICAL DEFERRED WRT = 80,0
PARALLEL SEQUENTIAL = 50
ASSISTING PARALLEL SEQT = 0
Of course, you can request much more information to be
displayed using the DISPLAY BUFFERPOOL command by using the DETAIL parameter.
Additionally, you can request that DB2 return either incremental statistics
(since the last DISPLAY) or cumulative statistics (since DB2 was started). The
statistics in a detail report are grouped in the following categories: GETPAGE
information, Sequential Prefetch information, List Prefetch information,
Dynamic Prefetch information, Page Update statistics, Page Write statistics,
and Parallel Processing Activity details.
A lot of interesting and useful details can be gathered
simply using the DISPLAY BUFFERPOOL command. For example, you can review
GETPAGE requests for random and sequential activity, number of prefetch
requests (whether static or dynamic, or for sequential or list prefetch),
number of times each of the thresholds were tripped, and much more. Refer
to the DB2 Command Reference manual (SC19-4054-02 for DB2 11) for a definition of each of the actual
statistics returned by DISPLAY BUFFERPOOL.
Many organizations also have a performance monitor (such as IBM’s Omegamon) that simplifies the gathering and display
of buffer pool statistics. Such tools are highly recommended for in-depth
buffer pool monitoring and tuning. More sophisticated tools also exist that
offer guidance on how to tune your buffer pools — or that automatically adjust
your buffer pool parameters according to your workload. Most monitors also
provide more in-depth statistics, such as buffer pool hit ratio calculations.
The buffer pool hit ratio is an important tool for
monitoring and tuning your DB2 buffer pools. It is calculated as follows:
Hit ratio = GETPAGES - pages_read_from_disk / GETPAGEs
“Pages read from disk” is a calculated field that is the sum
of all random and sequential reads.
The highest possible buffer pool hit ratio is 1.0. This
value is achieved when each requested page is always in the buffer pool. When
requested pages are not in the buffer pool, the hit ratio will be lower. You
can have a negative hit ratio — this just means that prefetch was requested to
bring pages into the buffer pool that were never actually referenced.
In general, the higher the hit ratio the better because it
indicates that pages are being referenced from memory in the buffer pool more
often. Of course, a low hit ratio is not always bad. The larger the amount of
data that must be accessed by the application, the lower the hit ratio will
tend to be. Hit ratios should be monitored in the context of the applications
assigned to the buffer pool and should be compared against hit ratios from
prior processing periods. Fluctuation can indicate problems.
No comments:
Post a Comment