Product Documentation

Database Administrator's Guide

Previous Topic

Next Topic


PRESYNC_THRESHOLD <active user count>

Background: When a transaction is committed, the transaction log must be flushed to disk to ensure the log contains the ability to undo or redo the transaction. The server does not, however, flush all the transaction related data and index file images to disk. The c-tree cache pages holding the disk images are aged and eventually forced to disk, otherwise transaction logs of arbitrary age would be required to make good any transaction that was committed but not entirely flushed to disk. The aging of cache pages occurs as part of the checkpoint, and consists of issuing an OS write operation. If the OS write is not guaranteed to synchronously flush the image to disk, then a call must also be made to flush the system cache pages (as opposed to the c-tree cache pages) to disk. When a data or index disk image for a transaction is committed but not yet flushed to disk, the transaction is placed on a data or index vulnerable transaction list. When the image is flushed to disk, the transaction is removed from the list. A feature can be enabled to perform the checkpoint file system flush without blocking all of the mutexes.

Specifying <active user count> greater than or equal to zero enables this feature. An active user count less than zero turns off this feature. The default for the threshold is set to -1 which turns off the new feature. [By active user count we mean the number of users actually making requests to the server. An idle user, or a user in between requests, will not count toward the active user count.]

Pending further testing, it is suggested that the PRESYNC_THRESHOLD be set somewhere in the range of 2 to 6.