IBM 000-8697 Server User Manual


 
How to Improve Performance 5-13
Shared-Memory Buffers
Shared-Memory Buffers
In general, you want to allocate shared-memory buffers to OnLine until you
no longer see an improvement in performance. However, shared memory is
rarely an unlimited resource. You must always weigh the positive effect of
increasing OnLine shared memory against negative effects that might be
experienced by other applications running on your host machine.
When Is Tuning Necessary?
Look at the cached-read and cached-write percentages for OnLine. (Refer to
page 5-10.) Ideally, the cached-read percentage should be greater than 95
percent and the cached-write percentage should be greater than 82 percent.
The tbstat -p or tbstat -P display also includes a field labelled ovbuff, which
refers to “over buffers,” meaning the number of times that OnLine database
server processes tried to acquire a buffer when none was available. A low
positive number in this field might not necessarily indicate a need for tuning.
A high value is more indicative of a need for more buffers. If the value of
ovbuff exceeds 50 or 60 within a 24-hour period, begin to monitor the field
over a fixed time interval. (Use tbstat -z to set all profile statistics to 0.) If it
appears that OnLine requests consistently exceed the BUFFERS value, you
should attempt to tune your configuration.
How Is Tuning Done?
You might be able to increase the cached percentages, up to a point, by
increasing the number of shared-memory buffers, specified as BUFFERS in the
configuration file. If OnLine was unable to defer writes to disk because of an
insufficient number of buffers, you should see an increase in the cached-write
percentage after you increase the number of buffers. If OnLine is forced to
read pages from disk because of an insufficient number of buffers, increasing
the value of BUFFERS should improve the cached-read percentage.
If you do not see an increase in caching after you increase the value of
BUFFERS, or if the increase is nominal, then the number of buffers allocated
might be considered adequate for your application. There is no benefit from
overallocating shared-memory buffers.