Docker Container Isolation for Load Test Setup Time Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional load testing methods using virtual machines are cumbersome, time-consuming, and require extensive maintenance, with remnants from previous tests often remaining, leading to uncertain clean start conditions.

Innovation Solution

The use of docker containers to isolate mutually exclusive subsets of hardware resources on a hardware host, allowing for quick creation and removal of clients and servers within these containers for each load test, ensuring a clean state and efficient execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are used for load testing, then isolation and resource management are improved, but setup time, maintenance complexity, and cleanup time increase significantly

Engineering Contradiction:
Improveisolation and resource managementVSAvoidsetup time and maintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses Docker containers as disposable, short-lived isolation units for load testing. Each container is created fresh for each test execution and destroyed afterward, eliminating the need for long-term maintenance while providing reliable resource isolation. This replaces the traditional virtual machine approach where containers serve as temporary, single-use isolation environments rather than persistent systems requiring ongoing management.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Productivity

If virtual machines are reused for load testing, then resource utilization is improved, but remnants from prior executions remain, compromising test reliability

Engineering Contradiction:
Improveresource utilizationVSAvoidtest cleanliness and reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the load testing environment into isolated Docker containers for each test execution. This segmentation ensures that each test runs in a completely separate, clean environment without remnants from previous tests, while the underlying hardware resources remain reusable. The containerization approach divides the system into independent units that can be created and destroyed without affecting the base infrastructure.

Inventive Principle:
Principle #1Segmentation

3Reliability

If containers are created and removed for each load test, then test reliability and clean state are improved, but device complexity increases

Engineering Contradiction:
Improvetest clean state assuranceVSAvoidcontainer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service automation where the load testing framework automatically creates Docker containers, executes tests, and cleans up resources without manual intervention. This automation handles the complexity of container lifecycle management internally, providing reliable clean test states while maintaining simple operational interfaces for users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11474925B2Overlapping-in-time execution of load tests on applications in a centralized system
Publication Date: 2022.10.18 ORACLE INT CORP
  • US11474925B2 patent drawing
  • US11474925B2 patent drawing
  • US11474925B2 patent drawing

AI summary

Application testing using non-emulated operating system assistance without rebooting a hardware host is provided. A user specified build job for executing the application based on a load test is received. The hardware host is selected from a pool of hardware hosts. The hardware host is configured based on the user specified build job to provide the non-emulated operating system assistance while executing the application based on the load test. The application is executed based on the load test including communications between a client and servers while using the non-emulated operating system assistance. The hardware host is returned to the pool of hardware hosts. The hardware host is available upon the returning for use of subsequent load tests without rebooting the hardware host.