0

We have a website hosted as an Azure App Service. It connects to a Sql Azure P1 database, which is a geo replicated secondary.

We have this same website hosted on a virtual machine with Rackspace, which connects to a sql server database locally installed on the same VM.

The Azure website is accessible at http://www2.inyopools.com The Rackspace website is accessible at http://www.inyopools.com

The performance of the Azure website is significantly worse than the Rackspace one, especially for pages with a lot of database interaction.

For example: http://www2.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache=149151216024 Is much slower than http://www.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache=149151222081

(Note: these pages are cached every 15 minutes so change the bustcache query string parameter value to get a fresh copy)

Over 12 seconds vs under 1 second difference!

We notice an exponential increase in time based on how many database calls appear to be needed for the page. So, it seems like the bottleneck or issue is database related.

I really need some help figuring out where to go from here in my debugging of the issue. Are read-only, active geo-replicated databases less performant? This is preventing us from migrating these systems to Azure. We’re open to any suggestions!

ShellyFM
  • 551
  • 3
  • 11
  • what size VM is used on Rackspace? – Alexander Nosov Apr 12 '17 at 16:56
  • Rackspace is 4 vCPUs, 8 GB memory, 320 GB disk, 600 Mb/s network.The Azure App Service website is S3 (4 Core, 7 GB memory, 50 GB disk). – ShellyFM Apr 12 '17 at 17:51
  • I dont see any perf differences when you pass both of the same parameters :http://www2.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache=149151216024 ,http://www.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache=149151222081 – TheGameiswar Apr 13 '17 at 08:18
  • @TheGameiswar, you need to change the value of the bustcache query string parameter in between calls to ensure you get a non-cached version of the page. – ShellyFM Apr 13 '17 at 15:18

1 Answers1

0

SQLAzure is PAAS,so you should not be comparing it directly with rackspace ..

your Rackspace had below config..

Rackspace is 4 vCPUs, 8 GB memory, 320 GB disk, 600 Mb/s network

for Azure P4 ,you get below ,based on Azure DTU calculator analysis

enter image description here

So you will not be getting same config as rack space,but you will be getting other benefits what PAAS offers such as 99.99% availabilty ,less maintenance overhead

further Replicated Geo secondaries are not less performant,the peformance depends on tier

Also we have a P4 database,which was peforming less than expected compared to our onprem 16GB server,so we fined tuned the queries with the help of query store .So you may need to try finetuning queries as well

TheGameiswar
  • 27,855
  • 8
  • 56
  • 94
  • I appreciate your response. I would assume that based on your theory that scaling up the Sql Azure database should have a positive impact. I previously tested it as a P2 without seeing a benefit. As a drastic test, I just scaled up to a P15, and it takes over 13 seconds to load that example page (uncached hit). The DTU metrics, as well as the other metrics, on the database are very low even at the P1 service tier. – ShellyFM Apr 13 '17 at 15:17
  • Also, we are unable to turn on query store since this is a geo-replicated secondary database. I wish it would allow query store to be turned on and even index auto tuning turned on, but that is not the case. – ShellyFM Apr 13 '17 at 15:17
  • @ShellyFM:I missed,it was secondary.Can you check your DTU Usage – TheGameiswar Apr 13 '17 at 16:30
  • I've seen it as high as 30% at times, but usually much lower, like less than 1%. – ShellyFM Apr 13 '17 at 17:04
  • strange,less performant in your case ,can be then pointed out to ,your DTU tier not capable enough – TheGameiswar Apr 13 '17 at 17:06