SOA Performance Tuning via Dynamic Thread Pool Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual performance tuning of computer systems, such as database connection pools, often results in suboptimal performance due to lack of coordination between thread pools, leading to crashes and inefficiencies, as administrators must manually adjust parameters without a clear strategy, making it time-consuming and prone to errors.

Innovation Solution

Implement a self-correcting method that monitors and analyzes processing stages to identify the slowest stage, calculates new thread allocations, and automatically adjusts resources to optimize performance, using equations like New_Number_threads=[rate(fastest)*number_of_threads]/rate(slowest) to balance thread pools and throttle fast stages when queues exceed thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual performance tuning is performed by administrators, then system parameters can be adjusted, but performance improvements are limited and require near constant adjustment

Engineering Contradiction:
Improveperformance improvementVSAvoidtime for constant adjustment
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system automatically monitors processing stages, identifies bottlenecks, and adjusts thread pool parameters without administrator intervention. The performance tuning system serves itself by detecting when tuning is needed and executing the tuning automatically, eliminating the need for constant manual adjustment while maintaining optimal performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors processing stage performance metrics and uses this feedback to dynamically adjust thread pool parameters. When performance degradation is detected, the system automatically responds by tuning the identified bottleneck stages, creating a closed-loop control system that maintains optimal performance without manual intervention.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If administrators manually adjust parameters without a clear strategy, then parameter changes can be made, but adjustments are prone to errors and suboptimal performance

Engineering Contradiction:
Improveparameter adjustment capabilityVSAvoidperformance stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system automatically identifies bottlenecks and adjusts parameters based on actual performance data rather than administrator guesswork. By making the system self-diagnosing and self-tuning, it eliminates human error in parameter adjustment while maintaining the ability to make necessary changes, thereby improving both ease of operation and reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system proactively monitors performance metrics and identifies bottlenecks before they cause system failures or severe performance degradation. By taking preliminary action to detect and address issues early, the system prevents errors and maintains stable performance without waiting for administrators to react to problems.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If thread pools are not coordinated, then individual modules can operate independently, but performance bottlenecks and crashes occur

Engineering Contradiction:
Improvemodule independenceVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The performance tuning system provides a universal coordination mechanism that works across all processing stages and thread pools regardless of their specific functions. It monitors and adjusts parameters for multiple independent modules simultaneously, maintaining their independence while ensuring coordinated operation to prevent bottlenecks and crashes.

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

4Ease of manufacture

If preset minimum and maximum connections are set incorrectly, then connection pooling can function, but performance bottlenecks or frequent crashes occur

Engineering Contradiction:
Improveconnection pool setupVSAvoidsystem stability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

Instead of using static preset minimum and maximum connection values, the system dynamically adjusts thread pool parameters based on real-time performance monitoring. It automatically increases or decreases thread allocations in response to changing system conditions, maintaining optimal performance and stability without requiring administrators to correctly predict and set fixed parameters in advance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9436513B2Method of SOA performance tuning
Publication Date: 2016.09.06 ORACLE INT CORP
  • US9436513B2 patent drawing
  • US9436513B2 patent drawing
  • US9436513B2 patent drawing

AI summary

Systems and methods of SOA performance tuning are provided. In accordance with an embodiment, one such method can comprise monitoring a plurality of processing stages, calculating a processing speed for each of the processing stages, and tuning a slowest processing stage of the plurality of processing stages.