12 Analyzing Client Response Time Data
This chapter describes how to use client response time data. Database Administrators (DBAs) and the database server must have clear visibility into the ecosystem of connected clients to make data-driven decisions. This visibility ensures that both planned and unplanned database-tier events are managed effectively, minimizing disruptions to applications. Understanding client technology stacks and their behavior allows DBAs to predict how clients will respond to changes, enabling smoother operations. By capturing and analyzing end-to-end client response time data, DBAs and the database server can make informed decisions to minimize disruptions, optimize resource utilization, and enhance user experience.
Oracle AI Database provides client response time data that complements traditional database performance statistics. Traditional performance metrics, such as DB time, wait events, and SQL execution statistics, describe activity occurring within the database. Client response time data provides an additional perspective by measuring request durations as experienced by applications. By analyzing client response times together with database performance statistics, DBAs can better understand workload behavior and identify performance improvements that have the greatest impact on application response times. Client response time data is captured at runtime with no additional configuration, provided the latest drivers are in use to supply data.
- Request elapsed time
- Session-level metrics
- Service-level metrics
- Server Elapsed Time
Oracle AI Database exposes all this data through dynamic performance views, statistics:
| View | New / Existing | Description |
|---|---|---|
|
|
New |
Client MAA dashboard view containing session-level client information, request statistics, request timing information, and client readiness information. |
|
|
New |
Histogram of completed client requests based on request duration. |
|
|
Existing (extended) |
New client request statistics including completed request count and elapsed time. |
|
|
Existing (extended) |
New cumulative client request statistics. |
|
|
Existing (extended) |
New service-level client readiness and failover statistics. |
|
|
Existing (extended) |
New service statistics related to client telemetry. |
|
|
Existing |
Drain histogram and drain timeout advisory information. |
Client Response Data Usage
High Availability
Client response time data provides visibility into request duration and workload behavior at both the session and service levels. This information can be used to support high availability operations:
- Smart Draining
Client response time data can be used to evaluate whether a session is likely to drain successfully during planned maintenance operations. Draining a session is generally preferred to failover because it allows active work to complete before maintenance begins. Current request duration and historical request duration information can be used to evaluate whether an in-flight request is likely to complete within a drain window. This information can assist Smart Drain operations when determining whether additional time should be allowed for local requests, XA transactions, or serverless transactions to complete.
- Smart Failover
Client response time data can be used to evaluate whether a session is suitable for planned failover operations using Application Continuity (AC), Transparent Application Continuity (TAC), or Transparent Application Failover (TAF). Evaluate session readiness for failover during planned maintenance or Automatic Load Balancing (ALB) events. Escalate to failover only when confident of success, avoiding unnecessary disruptions.
- Transaction Runtime Evaluation
Current request duration information can be compared with historical request duration characteristics to estimate transaction runtime when evaluating transaction preservation decisions.
- Drain Timeout Evaluation
Current and historical request duration information can be used to assess the potential impact of different drain timeout values and maintenance schedules.
- Session Relocation Decisions
Client response times can be used to evaluate the impact of relocating or shedding individual sessions during workload management operations.
- Client Readiness for ALB
Client response times data can be used to mark sessions for draining, failover, or relocation. Estimate transaction runtime to decide whether to preserve transactions on demand.
- Planned Maintenance
Client response time data can be used to advise on optimal timing for maintenance based on historical and current request durations. Estimate the risk of various drain deadlines. Set realistic drain timeouts based on request durations.
Performance Tuning and Optimization
Client response time data provides visibility into application response times from the client perspective. This information complements traditional database performance statistics and supports performance analysis.
- Client and Server Elapsed Time Comparison
Identify bottlenecks by comparing server and client elapsed times. Comparing client response times with database elapsed times helps provide additional insight into application response time characteristics and supports end-to-end performance analysis.
- Workload Distribution Analysis
Client response time data can be used to analyze skew across sessions within a service. Detect skew in response times across sessions or services.
Distinguish workloads within a service based on response-time characteristics and workload skew. This information can be used together with other performance statistics, including GCS and GES costs, when analyzing workload behavior within a service. Optimize load balancing and routing based on workload distribution analysis.
See Also:
- Oracle AI Database Reference for more information about performance views.