Azure – Translate SQL Azure DTU to IOPS?

azureazure-sql-databaseperformance

The resources and power of each service tier and performance level for Microsoft's Azure SQL cloud databases are expressed in terms of Database Throughput Units (DTUs).

These are relative units of measurement. Is there any way to translate them into an absolute measurement? Specifically can they be translated into IOPS?

Best Answer

The closest I've been able to get to answering this question is an article from Microsoft titled Azure SQL Database Benchmark Overview. The writers performed a benchmark scenario on each one of the Azure SQL tiers and measured the results in terms of "Transaction per hour/minute/second".

Here's an image of the results in table form:

enter image description here

The latest version of the SQL Database Benchmark Overview article is more helpful by providing a number of IOPS per DTU, as follows:

  • Basic and standard: 2.5 IOPS/DTU
  • Premium: 48 IOPs/DTU

Therefore:

Tier    DTUs       IOPS
-----------------------
Basic      5         13   # Actually 12.5 IOPS.
S0        10         25
S1        20         50
S2        50        125
S3       100        250
S4       200      1,000
P1       125      6,000
P2       250     12,000   # There is no P3 tier
P4       500     24,000   # There is no P5 tier
P6     1,000     48,000
Related Topic