What is a DTU?
Microsoft describes the Database Transaction Unit (DTU) as, “a blended measure of CPU, memory, and data I/O and transaction log I/O in a ratio determined by an OLTP benchmark workload designed to be typical of real-world OLTP workloads.”
This statement may seem deliberately opaque, but what it reflects is that Microsoft is giving you the benefit of not needing to worry about the hardware configuration of your cloud service, but instead is giving you a simple way of ensuring your database has the resources it needs. Additionally, using this single DTU number allows Microsoft to adjust the resources as needed to optimize its offering while still delivering a guaranteed performance level.
The nice thing about DTUs is that once you develop an understanding of how many DTUs your application needs, you can easily scale. For example, if you expect the number of requests to your service to double, you can also expect the number of DTUs you need to roughly double.
When setting up an Azure SQL database, there are two primary factors that will affect which pricing tier to select:
- Size of Database
- Required Number of Database Transaction Units (DTUs)
In general, you’ll know the first number, but if you’re new to Azure, that second number might be a little confusing.
How Many DTUs do I Need?
Once you have your database set up, Azure provides monitoring tools that let you see how many DTUs your database is using over time:
In the above graph, we can see that we are never using more than 50% of our allocated DTUs, so we know we can safely drop to a lower tier.
Using Notifications
You can also configure alerts to notify you when your DTU usage exceeds a threshold. This allows you to know when you need to bump your database to a higher tier before it begins impacting your performance.
Scaling your Azure database up or down is a quick operation that requires minimal downtime, so it’s easy to make sure you’re getting the performance you need without overpaying.
What if My Database isn’t in Azure yet?
There are a few options:
- You can start with a low tier and gradually scale up as you learn how many DTUs you are using. Your queries will not error out if you exceed your DTU limit, they will simply slow down.
- You can start at a high tier, monitor how many DTUs you are using, and then scale down. If performance is important from the start, this is a good choice. Azure usage is billed at an hourly rate, meaning if you start big and scale down, you will only be billed the higher rate for the hours that you used the bigger tier.
- If you already have a SQL Server database setup that you are looking to migrate to Azure SQL, you can also use the Azure DTU Calculator to determine how many DTUs you need based on the current resource utilization of your SQL Server.
Read more about DMC’s Azure services or contact us to discuss migrating to Azure.