Parallel checkpoints

A pool of checkpoint tasks works on the list of active databases in parallel. This pool is controlled by the configuration parameter number of checkpoint tasks. Where there is a checkpoint bottleneck, more checkpoint tasks translate to shorter recoverable logs, and recovery has less work to do in case of a crash, thus improving availability.

The default value of number of checkpoint tasks is 1, for serial checkpoints. The number of engines and number of open databases limit the value for this parameter. The absolute maximum value for this parameter is 8. This configuration parameter is dynamic. When the value for this parameter is reduced, checkpoints drain out, and when the value is increased, additional tasks are spawned.

The effectiveness of parallel checkpoints is dependent on the layout of the databases and performance of the underlying I/O subsystem, as checkpoints are I/O-intensive. Tune number of checkpoint tasks depending on the number of active databases and the ability of the I/O subsystem to handle writes.