摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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 and apparatus for capturing database system workload and replaying that workload in a database system is provided. According to one aspect, in order to subject a test database system to the same workload to which the production database system actually would be subjected, a database server in the production system captures and records workload that the database server receives from external entities. This captured workload is processed. Processes external to a database server in the test database system send the processed workload to that database server. As a result, the test database system is subjected to the same workload to which the production database system originally was subjected. The foregoing technique permits a database administrator to determine how the production database system will fare if the difference that is present in the test database system is introduced into the production database system.
摘要:
A method for replaying a simulation workload is provided. The simulation workload identifies a plurality of workload parts. Each workload part is at least a portion of a respective captured workload. In an embodiment, a first workload part is a portion of a first workload executed relative to a first capture database server and a second workload part is a portion of a second workload executed relative to a second capture database server. A portion of the first workload part and a portion of the second workload part may be replayed concurrently.