Application workload capture and replay system
First Claim
1. A method comprising:
- capturing and storing, as a captured application server system workload, a plurality of capture-phase application requests sent to a capture-phase application server system;
assigning an identifier to each capture-phase application request of the plurality of capture-phase application requests;
for at least one capture-phase application request of the plurality of capture-phase application requests, propagating the particular identifier assigned to the at least one capture-phase application request in a capture-phase database request caused by the at least one capture-phase application request, wherein the at least one capture-phase database request comprises a database command;
capturing one or more database sequence numbers assigned to the database command when executed during the capture-phase by a capture-phase database server system against a capture-phase database; and
storing workload data that represents an association between the database command, the one or more database sequence numbers, and the particular identifier assigned to the at least one capture-phase application request;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method comprising:
-
capturing and storing, as a captured application server system workload, a plurality of capture-phase application requests sent to a capture-phase application server system; assigning an identifier to each capture-phase application request of the plurality of capture-phase application requests; for at least one capture-phase application request of the plurality of capture-phase application requests, propagating the particular identifier assigned to the at least one capture-phase application request in a capture-phase database request caused by the at least one capture-phase application request, wherein the at least one capture-phase database request comprises a database command; capturing one or more database sequence numbers assigned to the database command when executed during the capture-phase by a capture-phase database server system against a capture-phase database; and storing workload data that represents an association between the database command, the one or more database sequence numbers, and the particular identifier assigned to the at least one capture-phase application request; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media having computer-executable instructions recorded thereon for performing a method comprising:
-
capturing and storing, as a captured application server system workload, a plurality of capture-phase application requests sent to a capture-phase application server system; assigning an identifier to each capture-phase application request of the plurality of capture-phase application requests; for at least one capture-phase application request of the plurality of capture-phase application requests, propagating the particular identifier assigned to the at least one capture-phase application request in a capture-phase database request caused by the at least one capture-phase application request, wherein the at least one capture-phase database request comprises a database command; capturing one or more database sequence numbers assigned to the database command when executed during the capture-phase by a capture-phase database server system against a capture-phase database; and storing workload data that represents an association between the database command, the one or more database sequence numbers, and the particular identifier assigned to the at least one capture-phase application request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification