Performance Throttling Identification Service for Autonomous Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud-based Platform-as-a-Service (PaaS) systems face performance throttling issues due to varying workloads, making it time-consuming and complex to properly adjust Database Management System (DBMS) configuration knobs, which affects system performance.
Innovation Solution
A monitoring agent periodically executes a performance throttling detection engine on a database service instance, using a rule-based approach to gather statistics and identify when knob configuration parameters need tuning, automatically transmitting these statistics to a database tuner service for adjustments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If database statistics are frequently reported to monitor performance, then performance monitoring accuracy is improved, but system overhead and complexity increase substantially
Solution Approach 1:
A monitoring agent is introduced as an intermediary component that collects database statistics and performance metrics. This agent acts as a mediator between the database system and the performance analysis system, gathering data through hooks and event subscriptions without requiring substantial modifications to the core database architecture, thereby reducing system overhead while maintaining monitoring accuracy
Solution Approach 2:
The patent replaces manual performance monitoring and analysis with an automated system that uses event-driven architecture. Instead of requiring manual configuration and analysis of database knobs, the system automatically subscribes to database events, collects metrics, and triggers tuning actions based on predefined conditions, reducing the mechanical complexity of performance management
2Productivity
If manual tuning of DBMS configuration knobs is performed, then performance optimization is achieved, but time consumption and operational complexity increase
Solution Approach 1:
The system implements self-service performance tuning by automatically detecting when performance throttling occurs and triggering appropriate tuning actions. The monitoring agent continuously evaluates performance metrics against predefined thresholds and automatically initiates knob adjustments without requiring manual intervention, enabling the system to optimize itself while reducing time consumption
Solution Approach 2:
The patent establishes a feedback loop where performance metrics are continuously monitored, analyzed, and used to trigger tuning actions. The system collects performance data, evaluates it against predefined conditions, and automatically adjusts configuration knobs based on the analysis results, creating a closed-loop control system that optimizes performance efficiently without manual time investment
3Measurement precision
If comprehensive database statistics are collected and analyzed, then tuning accuracy is improved, but processing time and computational resources increase
Solution Approach 1:
The system extracts only the most relevant performance metrics and statistics needed for tuning decisions, rather than analyzing all available database data. The monitoring agent selectively collects specific metrics related to performance throttling conditions, reducing the volume of data to be processed while maintaining sufficient accuracy for effective tuning
Solution Approach 2:
The patent implements partial action by collecting and analyzing only the subset of database statistics that are most critical for detecting performance throttling. Instead of comprehensively analyzing all database parameters, the system focuses on key metrics that directly indicate performance issues, reducing processing time while maintaining tuning effectiveness
Data Source
AI summary
A system and method are disclosed associated with a cloud platform as a service provider. A monitoring agent, associated with a database service instance running on a client database virtual machine, periodically executes a performance throttling detection engine. The performance throttling detection engine gathers database statistics based on metrics and features of the database service using a rule-based approach. When it is determined that a pre-determined condition is met, the system may transmit the gathered database statistics to an external application. For example, the external application might comprise a database tuning service and the pre-determined condition may be associated with a decision that the database service may potentially need to tune knob configuration parameters (associated with memory knobs, background writer knobs, asynchronous knobs, etc.).


