Scalable Load Test Service Transaction Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load testing solutions for large-scale computing systems are not scalable enough to handle high loads, often skewing performance metrics due to unclear differentiation between data preparation and transaction execution, and require complex interfaces that are not flexible or scalable.

Innovation Solution

A generic transaction generation framework that uses runtime-discoverable information, such as Java annotations, to specify load scenarios, allowing for flexible configuration of transaction rates and distributions, and isolates product-specific knowledge from the framework, enabling scalable and flexible load testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional load generators send large amounts of data to the service under test, then the load testing can simulate real-world traffic, but the data preparation time skews performance metrics and reduces testing accuracy

Engineering Contradiction:
Improvedata volumeVSAvoidperformance metrics accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent segments the load generation process into distinct components: data preparation (using data providers) and transaction execution. This separation allows performance metrics to be measured accurately for the actual service transactions without contamination from data preparation overhead, while still enabling large volumes of test data to be supplied through dedicated data provider components.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If existing testing frameworks require specific interface implementations, then the framework provides structured interaction, but the complexity increases and scalability decreases

Engineering Contradiction:
Improveinterface simplicityVSAvoidimplementation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a universal framework where data providers and transaction templates can handle diverse testing scenarios through a common interface. The framework is designed to be multi-functional, supporting different data sources, transaction types, and service architectures without requiring scenario-specific interface implementations, thereby reducing complexity while maintaining ease of operation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses transaction templates that can be copied and reused across different testing scenarios. Instead of implementing unique interfaces for each test case, the same template mechanism is replicated and configured differently, reducing implementation complexity while maintaining the ability to handle diverse testing requirements.

Inventive Principle:
Principle #26Copying

3Reliability

If load generators are tightly coupled with the framework, then the framework provides consistent behavior, but flexibility and adaptability are reduced

Engineering Contradiction:
Improveframework consistencyVSAvoidframework flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent extracts product-specific knowledge and configuration details from the core framework into separate components such as data providers and transaction templates. This extraction maintains framework consistency through standardized interfaces while enabling flexibility by allowing these extracted components to be independently configured and adapted to different testing scenarios without modifying the framework itself.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11310165B1Scalable production test service
Publication Date: 2022.04.19 AMAZON TECH INC
  • US11310165B1 patent drawing
  • US11310165B1 patent drawing
  • US11310165B1 patent drawing

AI summary

A network-based scalable production load test service may be implemented on a provider network including a plurality of computing devices in order to provide load testing for network-based production systems. In some embodiments, the plurality of computing devices is configured to receive a request to capture to a load test data repository items of transaction data for a network-based production service. In some embodiments, the plurality of computing devices is configured to capture to the load test data repository the items of transaction data. The transaction data include input to the network-based production service over a network. In some embodiments, in response to a load test specification received by the scalable production load test service, the plurality of computing devices is configured to dynamically allocate one or more resources to perform a load test of the network-based production service according to the load test specification.