摘要:
A database system providing transactionally consistent replay of application workloads. In a database system, a method providing transactionally consistent replay of application workloads comprises the steps of: during a replay phase in which a plurality of application requests that were previously submitted to an application server system during a capture phase are being replayed, receiving, at a database server, a database request to execute a database command against a database. The database request specifies an application request identifier that identifies a particular application request of the plurality of application requests. The particular application request caused the database command to be executed previously during the capture phase. In response to receiving the database request, determining, based on the application request identifier in the database request, whether to delay execution of the database command at least until a particular replay-phase database transaction has been committed.
摘要:
A method, apparatus, and computer-readable medium is provided for replaying captured workload data in a database environment with connection pools. A replay system includes a dispatcher that manages a connection pool. In one aspect, the dispatcher selects available connections for sending database commands that are ready to be executed against a database, but prevents from being sent, or holds, commands that are not ready to be executed against the database. Commands may be stored at the dispatcher until the database advances to a state that allows the commands to be executed. In another aspect, the dispatcher may use an available connection to send a command to a database instance even though the command is not ready to be executed, as long as at least a threshold number or percentage of connections remains available.
摘要:
A method, apparatus, and computer-readable medium is provided for replaying captured workload data in a database environment with connection pools. A replay system includes a dispatcher that manages a connection pool. In one aspect, the dispatcher selects available connections for sending database commands that are ready to be executed against a database, but prevents from being sent, or holds, commands that are not ready to be executed against the database. Commands may be stored at the dispatcher until the database advances to a state that allows the commands to be executed. In another aspect, the dispatcher may use an available connection to send a command to a database instance even though the command is not ready to be executed, as long as at least a threshold number or percentage of connections remains available.
摘要:
An application workload capture and replay system with a transactionally consistent application workload replay feature is provided. More particularly, the feature includes capture-phase components for capturing and recording a real application workload submitted to a production web application system and includes replay-phase components for replaying the captured application workload against a test web application system in a transactionally consistent manner. The feature provides guarantees about the order of database transactions that are caused when the workload is replayed such that there is a consistency between the replay-phase order of the database transactions and the order of those transactions that occurred when the workload was captured. These consistency guarantees facilitate a faithful reproduction of database changes observed in the production web application system in the test web application system using a captured real application workload. Significantly, this faithful reproduction may be accomplished without having to create a synthetic application workload that approximates or emulates the transactional behavior of the real application workload. Instead, a real application workload may be used as or substantially as it is captured.
摘要:
An application workload capture and replay system with a transactionally consistent application workload replay feature is provided. More particularly, the feature includes capture-phase components for capturing and recording a real application workload submitted to a production web application system and includes replay-phase components for replaying the captured application workload against a test web application system in a transactionally consistent manner. The feature provides guarantees about the order of database transactions that are caused when the workload is replayed such that there is a consistency between the replay-phase order of the database transactions and the order of those transactions that occurred when the workload was captured. These consistency guarantees facilitate a faithful reproduction of database changes observed in the production web application system in the test web application system using a captured real application workload. Significantly, this faithful reproduction may be accomplished without having to create a synthetic application workload that approximates or emulates the transactional behavior of the real application workload. Instead, a real application workload may be used as or substantially as it is captured.
摘要:
A database system providing transactionally consistent replay of application workloads. In a database system, a method providing transactionally consistent replay of application workloads comprises the steps of: during a replay phase in which a plurality of application requests that were previously submitted to an application server system during a capture phase are being replayed, receiving, at a database server, a database request to execute a database command against a database. The database request specifies an application request identifier that identifies a particular application request of the plurality of application requests. The particular application request caused the database command to be executed previously during the capture phase. In response to receiving the database request, determining, based on the application request identifier in the database request, whether to delay execution of the database command at least until a particular replay-phase database transaction has been committed.
摘要:
A method, apparatus, and computer readable medium for preserving data dependency during replay of database commands without strictly preserving a global ordering of the database commands is provided. A capture process captures a workload of database commands executed by a production system. The captured workload includes object identifiers that identify database objects that were referenced directly or indirectly during execution of the database commands by the production system. The captured workload also includes an indication of whether the database objects were potentially read or written during execution of the commands. The workload is processed to determine that an object accessed during execution of a command was previously modified during execution of one or more other commands. A replay process on a test database system prevents the command from being replayed until after the one or more other commands have been replayed to modify the object.
摘要:
A method, apparatus, and computer readable medium for preserving data dependency during replay of database commands without strictly preserving a global ordering of the database commands is provided. A capture process captures a workload of database commands executed by a production system. The captured workload includes object identifiers that identify database objects that were referenced directly or indirectly during execution of the database commands by the production system. The captured workload also includes an indication of whether the database objects were potentially read or written during execution of the commands. The workload is processed to determine that an object accessed during execution of a command was previously modified during execution of one or more other commands. A replay process on a test database system prevents the command from being replayed until after the one or more other commands have been replayed to modify the object.