Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Azure by (45.3k points)

I am using MVC3, EF5, LINQ, .NET4.5, SQL Database.

Microsoft has just brought out the new service levels for SQL Databases ie Basic, Standard and Premium.

Originally I was using the "Web" SQL database since my DB was small ie about 30mb. However on my test web site instance I have been using Basic web site and "Basic" SQL Database setups to save money.

I have a "slower" running query which suddenly took 9secs when my Live DB was restored as a "Basic" new style DB on the test instance. It tool about 2.5 secs on live. When I scaled up this test DB instance to "Standard" SO, 20 DTUs, it took 3.9 secs. When I then scaled this DB back to the "retired" "Web" format, it then took 1.9 secs which really surprised me. It is as if one needs to scale the DB to S1 to get comparable performance to the old "Web" style DB, but I suspect this will then cost more than the old "Web" format DB.

I appreciate any comments on the above, especially if other have found the new DB styles can be slower.

At the end of the day, what setup in the new DB style is the old "Web" style equivalent to?

Thanks.

EDIT (THIS IS REALLY REALLY WORRYING)

I have discovered a very useful document on this, and my worst fears are confirmed see Web/Business comparison with new SQL Database service tiers. These are very, very worrying as it seems that web database performance can only be matched by the "Premium P1" edition, and we would not be able to afford the use of this. So for the time being we will continue to use the "Web" edition.

EDIT, Seem to have touched a raw nerve.... There are many worried folks about this....

see: Forum chat with worried users

FEEDBACK FROM .NET USER GROUP

I have also been speaking with a number of my Azure using .NET peers at a recent user group meeting, and they were also very worried to the extend they believed developers would just leave Azure. I think one of the key mistakes here, by Microsoft, is to set the performance of Basic well below that of Web(most of the time) and even S1 and S2 below web. It is only when you get onto P1 and P2 that you experience a par, and we dare not use this in test due to the impact on charges. In our experience Web has performed at this high level for 90% of the time. I am guessing the 10% is there, since you say it is, but non of our clients have complained about this. However to retain our current level of performance we would need to upgrade to S2 or P1 which would have an extraordinary impact on our monthly charges. Jim Rand's feedback is appreciated, and backs up our concerns.

1 Answer

0 votes
by (16.8k points)

System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Hit this last Thursday. Converting data from old system to SQL Azure. Chose the new Standard (S2) instead of the 5 gig web (retired) database. 

The SQL:

UPDATE Invoice 

SET SalesOrderID = O.SalesOrderID 

FROM Invoice 

INNER JOIN SalesOrder AS O ON Invoice.InvoiceID = O.InvoiceID 

196043 rows. Re ran and it took over 4 minutes. Exported database and reloaded it into the web edition. Query took 19 seconds. Total database size is about 750 megabytes.

Bottom line, this is more than "all a little worrying". Unless Microsoft gets the performance up on the new basic / standard / premium tiers to where it is now in the web edition, they can pretty much kiss Azure goodbye. Totally unreasonable that you can't run a query on only 196043 rows unless the the data is in the cache. So much for analytics with a relational database.

I'll be advising my client this week of this matter. Undoubtedly, he will be contacting upper management at Microsoft.

Browse Categories

...