Asynchronous Request Replay for Cloud Performance Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, capturing and replaying user requests for performance analysis is hindered by performance overhead when storing requests in databases, leading to system slowdowns and poor measurement of performance metrics due to privacy concerns and the need for fake credentials or authentication backdoors.

Innovation Solution

A system that captures user requests at the application server level, using an asynchronous message queue to write to a high-write-scale NoSQL database and then transitions them to a SQL database, ensuring GDPR compliance by saving all necessary data, and replays requests from a cluster of application servers without fake credentials, regenerating request headers and tokens for accurate performance measurement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If user requests are stored in a database for performance analysis, then performance metrics can be measured, but system throughput decreases due to additional overhead and potential slowdowns

Engineering Contradiction:
Improveperformance metrics measurementVSAvoidsystem throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the request storage system into two distinct databases: a NoSQL database for capturing user requests during production (high-write-scale) and a SQL database for storing replayed requests for performance analysis. This segmentation allows each database to be optimized for its specific function, preventing the overhead of database writes from impacting production system throughput while enabling accurate performance metrics measurement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary message queue system that acts as a buffer between the production application servers and the database storage layer. The message queue captures requests asynchronously, allowing the production system to continue operating at full throughput while the intermediary component handles the database writing operations separately, thus resolving the contradiction between measurement accuracy and system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If user requests are captured and stored for performance analysis, then performance can be measured, but privacy concerns limit the amount of user information that can be stored

Engineering Contradiction:
Improveperformance metricsVSAvoiduser information
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent extracts only the necessary request metadata and parameters needed for performance analysis from the full user request data. By taking out only the essential information (such as request type, response time, database operations) while excluding sensitive user data, the system achieves accurate performance measurement without violating privacy constraints or losing critical measurement information.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If fake credentials or authentication backdoors are used for performance analysis, then requests can be replayed, but measurement accuracy is compromised

Engineering Contradiction:
Improverequest replay capabilityVSAvoidperformance metrics
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent creates accurate copies of real user requests by capturing them during production operations and storing them in the SQL database. These copies preserve the original request structure, headers, and parameters, enabling performance analysis without requiring fake credentials or authentication backdoors. The copying approach maintains measurement precision while simplifying the replay operation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11693853B2Capture and replay of user requests for performance analysis
Publication Date: 2023.07.04 SALESFORCE INC
  • US11693853B2 patent drawing
  • US11693853B2 patent drawing
  • US11693853B2 patent drawing

AI summary

System and methods are described for performance analysis of a cloud computing environment. During a capture mode during a production use of a database system, the system captures user requests to access the cloud computing environment, asynchronously writes the user requests in one or more batches to a first database; and moves the user requests in one or more batches to a second database. During a replay mode during a performance analysis use of the cloud computing environment, the system reads the user requests from the second database and replays the user requests against the cloud computing environment in a first run, collects performance measurements for the first run, makes one or more changes to the cloud computing environment, reads the user requests from the second database and replays the user requests against the cloud computing environment in a second run, collects performance measurements for the second run, and compares performance measurements from the first run to performance measurements from the second run.