Patent ID: 7020599

Claim:
A computer implemented method that comprises a database system, to simulate effect of a recovery time required for the database system to recover from a database failure on runtime performance of the database system, the method comprising: providing in the computer, in addition to a normal checkpoint queue used in the database system for normal operation, at least one simulated checkpoint queue; wherein the normal checkpoint queue comprises a plurality of buffers; wherein the simulated checkpoint queue is an ordered list of one or more elements, each element in the simulated checkpoint queue representing a respective buffer that is or was in the normal checkpoint queue, the ordered list having a head and a tail; wherein the simulated checkpoint queue is associated with a setting for recovery time whose effect on runtime performance of the database system is being simulated in the computer; in response to detecting a change to a buffer in the normal checkpoint queue due to actual database transactions occurring within the database system under normal operating conditions, checking if the buffer is represented in the simulated checkpoint queue, and if the buffer is not represented in the simulated checkpoint queue, linking an element that represents the buffer to the tail of the simulated checkpoint queue; providing a simulated write counter, the simulated write counter being associated with the setting for recovery time; wherein the simulated write counter provides a count of a number of times any element is removed from the simulated checkpoint queue in response to a simulated write out of the respective buffer from volatile memory to nonvolatile memory; determining if linking the element to the simulated checkpoint queue causes the simulated checkpoint queue to exceed a predetermined length; and in response to determining that the simulated checkpoint queue exceeds the predetermined length, removing an element from the head of the simulated checkpoint queue and incrementing the simulated write counter.