How to Improve Performance 5-13

Shared-Memory Buffers

Shared-Memory Buffers
Ingeneral, you want to allocate shared-memory buffers to OnLine until you
nolonger 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?

Lookat 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.
Thetbstat -p or tbstat -P display also includes a field labelled ovbuff, which
refersto “over buffers,” meaning the number of times that OnLine database
server processes tried to acquire a buffer when none was available. A low
positivenumber 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 theBUFFERS 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
increasingthe number of shared-memory buffers, specified as BUFFERS in the
configurationfile. If OnLine was unable to defer writes to disk because of an
insufficientnumber of buffers, you should see an increase in the cached-write
percentage after you increase the number of buffers. If OnLine is forced to
readpages 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
mightbe considered adequate for your application. There is no benefit from
overallocating shared-memory buffers.