Analyze Inefficient Databases
Use Database Performance Analytics to identify inefficient databases and view database performance degradation.
Analyze Database Performance Degradation
View the change in activity and demand for databases with the highest performance degradation. You can view the actual and forecasted response time by demand and activity or active sessions.
Use the Performance Degradation table to identify databases whose performance has degraded over time and is correlated with change in demand. Activity in the Y axis is the Database Time. Demand in X axis is number of SQL executions.
The following are definitions:
- Database Time (DB Time): Total time session spends in all database calls.
- Active Session: Session currently spending time in a database call.
- Average Activity of the Session (% Activity): Ratio of time active to total wall clock time. Sum (Active Time) / Elapsed Time
The Performance Degradation table includes categories for Degradation with Decrease in Demand, Degradation without Change in Demand, and Degradation with Increase in Demand. Click a value to display a list of the top databases within that specific category, along with the database type, change in activity, and change in demand for each. Select a database from the list to view more information specific to that database.
You can identify databases that have the following types of degraded performance:
- Degradation with decrease in demand
- Change in activity greater than 20%
- Change in demand less than -10%
- Degradation without change in demand
- Change in activity greater than 20%
- Change in demand between 10% and -10%
Identify Inefficient Databases
Inefficient databases are databases where workload spends time on non-CPU, non-I/O, non-idle wait events, such as row locks.
Database Performance Analytics monitors database performance and calculates inefficiencies in the following ways:
-
Inefficiency percentage (%): A database’s inefficiency percentage is calculated by dividing inefficient wait time by the sum of the I/O wait time, CPU time, and inefficient wait time. Inefficient (%) = (inefficient wait time) /( IO + CPU + inefficient wait time).
Inefficient wait times are active sessions that are not part of CPU time, I/O wait time, or idle wait events.
-
Inefficient Databases: A database is marked as inefficient when the workload spends more than 50% of the database time in waits (not on CPU or I/O).
-
Increasingly Inefficient: An Inefficient Database with an Inefficiency (%) that is increasing over time.