IBM 000-8697 Manual Do Utilizador

Página de 702
2-60
IBM Informix OnLine Database Server Administrator’s Guide
How a User Process Acquires a Buffer
The following example shows how the value of
LRU_MIN_DIRTY
 is applied
to the buffer pool to arrive at the number of page buffers in an
MLRU
queue
that, when reached, can signal a suspension of page cleaning:
BUFFERS specified as 8000
LRUS specified as 8
LRU_MIN_DIRTY specified as 50
Number of buffers in the MLRU queue when cleaning can be suspended
is equal to (Total buffers/Number of LRU queues) multiplied by the
percentage specified by LRU_MIN_DIRTY.
Buffers in MLRU = (8000/8) * 50%
Buffers in MLRU = 1000 * 0.50
Buffers in MLRU = 500
Refer to
for a description of data buffer flushing. Refer to
for more details about tuning the values of
LRU_MAX_DIRTY
 and
LRU_MIN_DIRTY
.
How a User Process Acquires a Buffer
OnLine shared-lock buffering allows more than one OnLine user process to
simultaneously access the same buffer in shared memory. OnLine provides
this concurrency without a loss in process isolation by using buffer locks and
three categories of lock access (share, update, and exclusive).
The buffer-acquisition procedure comprises seven steps:
1.
Identify the data requested by physical page number.
2.
Determine the level of lock access needed by the user process for the
requested buffer.
3.
Attempt to locate the page in shared memory.
4.
If the page is not in shared memory, locate a buffer in an FLRU queue
and read the page in from disk.
5.
Proceed with processing, locking the buffer if necessary.
6.
After the user process is finished with the buffer, release the lock on
the buffer.
7.
Wake waiting processes with compatible lock access types, if any
exist.