2019-03-04

Azure SQL DB tiers comparison

Hi All
In the last few month Brent Ozar gae us 2 masterpiece blogs related to Azure SQL DB:
 
 
In this blog Brent compared the abilities of Azure SQL DBs to load Data - he compared all combinations of vCors tiers. (When I asked him about comparing the Standard\Premium tiers, he told me to do it.... :-) )
 
 
In this blog Brent showed us that in the vCors world the storage throughput has limit and there is not need to pay so much money when you need to upload lots of data.
 
So I took have taken up his challenge and done a comparison in Azure SQL DB in Standard\Premium tiers.
I have created a new DB with 1 Table.
I have generated 7 GB of DATA, and created the file in my local on premise drive (Yes, do not kill me, I did not had the time to put it on azure), and uploaded it via BCP command.
 
bcp "TableName" in "T:\MyTable.bcp"  -S"myservername.database.windows.net" -UUserName@myservername -P"Password" -n -d"DBName"
 
After each test I have truncate the table and changed the tier.
 
Here are the main results:
  
 
Rows/second
Time(MS)
Cost per month
S2
             4,071
           18,184,812
 $                    73.0
S4
             4,083
           18,129,531
 $                  294.0
S6
             9,007
              8,219,047
 $                  588.0
S9
           18,733
              3,952,062
 $              2,354.0
S12
           15,054
              4,917,703
 $              4,415.0
P1
             3,670
           20,168,375
 $                  456.0
P4
           22,851
              3,239,875
 $              1,825.0
P11
           22,188
              3,336,688
 $              6,868.0
P15
           24,487
              3,023,344
 $            15,698.0
 
It is clearest to see if we view the results in a chart of cost vs Rows\Second.
 
 
What does the Charts shows us?
Most cost effective is S9 tier, but as we would expect P15 is the fastest  
 
Below are various graphs of resource utilization for each tier.
 
S2 tier Log IO and Data IO took time
 
 
S4 Had only LOG IO issues
 
S6 - the same chart.
 
S12 Log IO is 100% and I have also added the DTU.
P4 looks the Same


 
 
P11 start to change Log IO was 100% only for a short time
 
 
P15 \ P11 \ P4 on the same Chart
 
 
 
In conclusion - Just as Brent found, Log IO is the bottleneck, the storage write operations. 
Log IO is the bottleneck but you get what you pay for, the more you pay the more I/O. Therefore the effects of the Log IO bottleneck are reduced the more resources/money you throw at the problem.
 
Next time I will test reads operations and CPU's
 
Have a good day.

תגובה 1:

  1. as I can see in your data(and base on some of my experience),
    as you said, the most cost effective is the S9 tier.
    there is not much difference compare to the higher Px tiers, certainly not something that worth the cost.

    השבמחק