DTU Usage measures the amount of DTU used on your database or elastic pool as a percentage. Blue Matador automatically monitors the dtu_consumption_percent metric for anomalous usage and high usage.
DTU stands for Database Transaction Unit. DTUs give you a way to compare database performance across the service tiers offered by Azure. DTUs roughly measure performance as a combination of CPU, Memory, Reads, and Writes. When provisioning compute for elastic pools, the acronym eDTU may be used to refer to DTUs that are part of an elastic pool. A full write-up on DTU service tiers and benchmarking can be found here.
Anomalous DTU usage can be an indicator that access patterns have changed in your application, slow queries have been introduced, or that the database is near its capacity limits. Running at consistently high DTU usage, especially near 100% usage will be detrimental to the performance of your database and should be addressed ASAP. Specific issues may include:
DTU usage is measured as a combination of CPU, IO, and Memory usage in your database, and high DTU usage could be the result of one or multiple issues with these resources.
The first step in diagnosing high DTU usage is to figure out which resource is contributing to your high usage by querying the sys.dm_db_resource_stats table:
SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;
Look closely at the following metrics returned by this query to determine what is likely causing high DTU usage:
For issues with CPU usage, you can refer to our SQL CPU Usage documentation.
For high data and log IO, you can refer to our SQL IO Usage documentation.
If multiple of these metrics are high, or if you have high memory usage, then you will need to consider either reducing usage or increasing database or elastic pool capacity. Check out the different service tiers for DTU here.