A Database Transaction Unit (DTU) is a blended measure of CPU, memory, I/O (data and transaction log I/O). For a single Azure SQL database at a specific performance level within a service tier, Microsoft guarantees a certain level of resources. This was originally calculated by OLTP benchmarks.
Azure SQL Database Advisor enables deeper insight into the DTU resource consumption.
A useful tool to help calculate the DTU size required for the service in Azure SQL Database is the DTU Calculator.
Measure Resource Utilization
To measure resource utilization for your existing database server, you'll need to capture several windows performance metrics on your SQL Server. It is best to run the performance counters for a while to obtain a representative workload pattern. This should be no less than an hour to provide the best recommendation. The counters to use are:
- Processor - % Processor Time
- Logical Disk - Disk Reads/sec
- Logical Disk - Disk Writes/sec
- Database - Log Bytes Flushed/sec
Elastic Database Transaction Units (eDTUs)
There is another type of DTU and that is elastic DTU. Rather than providing a dedicated set of resources (DTUs) to a SQL Database you can place the databases into an elastic pool. This is where a SQL Database server shares a pool of resources among databases. Elastic pools provide a simple cost effective solution to manage the performance for multiple databases that have widely varying and unpredictable usage patterns.
A pool is given a set number of eDTUs for a set price.
Change in Elastic Pool Sizes
There has been a change now with the availability of higher database eDTU limits for standard elastic pools in Azure SQL Database. The standard elastic pool was limited to 100 eDTUs but, it is now increased up to 3000 eDTUs.