I am trying to understand if there is a calculator/service that can help to understand what would be the appropriate Azure SQL DTU level for a specific AWS Aurora MySQL instance? For example, AWS Aurora MySQL db.r5.12xlarge is in use and a migration to Azure SQL is considered. How to figure out the corresponding Azure SQL sizing based on the DTU model as per https://azure.microsoft.com/en-us/pricing/details/azure-sql-database/single/ ?
There is a solution.
But is for calculation between SQL Server from On-Prem to Azure SQL Database: https://dtucalc.azurewebsites.net/
As you can see that calculation is based on a PowerShell script. When you download that you will find this code:
logman create counter sql_perflog -c "\Processor(_Total)\% Processor Time" "\LogicalDisk(_Total)\Disk Read Bytes/sec" "\LogicalDisk(_Total)\Disk Write Bytes/sec" "\LogicalDisk(_Total)\Disk Reads/sec" "\LogicalDisk(_Total)\Disk Writes/sec" "\Database(svchost)\Log Bytes Write/sec" -si 1 -f csv
which basically saves the output into a CSV under C:\PerfLogs\Admin
which looks like this:
(PDH-CSV 4.0) (W. Europe Standard Time)(-60) | \LAPTOP-92LH5NLI\LogicalDisk(_Total)\Disk Read Bytes/sec | \LAPTOP-92LH5NLI\LogicalDisk(_Total)\Disk Write Bytes/sec | \LAPTOP-92LH5NLI\LogicalDisk(_Total)\Disk Reads/sec | \LAPTOP-92LH5NLI\LogicalDisk(_Total)\Disk Writes/sec | \LAPTOP-92LH5NLI\Database(svchost)\Log Bytes Write/sec |
---|---|---|---|---|---|
49:18.4 | |||||
49:19.4 | 0 | 389596.7358 | 0 | 46.5463188 | 0 |
49:20.4 | 0 | 409156.2882 | 0 | 35.60495237 | 0 |
49:21.4 | 0 | 48832.94022 | 0 | 9.935087121 | 0 |
49:22.4 | 0 | 82384.7737 | 0 | 19.10779663 | 0 |
49:23.4 | 195282.6363 | 679420.8387 | 1.986517703 | 26.81798899 | 0 |
49:24.4 | 0 | 351413.1022 | 0 | 32.68351025 | 0 |
49:25.4 | 0 | 125563.2005 | 0 | 8.899861429 | 0 |
49:26.4 | 0 | 148487.4233 | 0 | 20.13989574 | 0 |
If you were using SQL Server you could use a query like this and fill up the CSV manually with this query .
But because you are using MySQL you have to:
And that should be enough.
Ideally you can also use SSMA and migrate MySQL to SQL Server and test with a real workload to SQL Server