2-56 IBM Informix OnLine Database Server Administrator’s Guide
Shared-Memory Buffer Pool
Regular Buffers
The regular buffers store dbspace pages read from disk. The status of the
regular buffers is tracked through the buffer header table. Within shared
memory, regular buffers are organized into LRU buffer queues. (Refer to
page 2-57 for further information about the LRU queues.) Buffer allocation is
managed through the use of latches and lock access information. Buffer infor-
mation is available through four options of tbstat:
■ -b and -B options display general buffer information.
■ -R displays LRU queue statistics.
■ -X displays information about OnLine user processes that are
sharing or waiting for buffers.
Each regular buffer is the size of one OnLine page, specified as BUFFSIZE in
the configuration file. In general, OnLine performs I/O in full-page units, the
size of a regular buffer. The two exceptions are I/O performed from big
buffers and I/O performed from blobspace buffers. (Refer to page 2-78 for
further information about blobspace buffers.)
Big Buffers
For every 100 regular buffers, OnLine allocates one additional big buffer.
OnLine creates at least one big buffer, even if BUFFERS is less than 100. A big
buffer is a single buffer that is the size of eight pages.
The function of the big buffers is to increase performance on large writes and
reads. For example, OnLine tries to use a big buffer if it is writing a dbspace
blob into shared memory or performing a series of sequential reads. After
disk pages are read into the big buffer, they are immediately allocated to
regular buffers in the buffer pools. The big buffers are also used in sorted
writes and during checkpoints, if possible. (Refer to page 2-75 for more
details about sorted and chunk writes.)
Multiple big buffers cannot be combined for contiguous I/O reads that are
greater than eight pages. The number of big-buffer reads is displayed as part
of the tbstat -P output.