I've been investigating a slow warmup time for my production app and I got some unexpected results.
Testing on various Azure VMs showed the warmup time to be well-related to the application server performance (so it's not external request, including sql), but what's really interesting is the comparison to Azure Web Apps and my own local machine (all times are averages from at about 3 runs):
VM A0: >1m
VM A2: 13s
VM D2V2: 6.8s
VM D5V2: 7.8s
Wep App P2: 25s
Web App S2: 26.5s
My local machine: 6.6s
My local machine is an i5 with 3.3GHz.
The local machine is fastest even though it connects to the same SQL Azure database over the internet and the request includes Entity Frameworks's model checking.
All tests use .NET 4.6.1, the newest release at this time.
Apparent conclusion:
This seems fishy. Any ideas what else might be going on? Or what to test?
EDIT after some profiling: None of the following sheds any light on my question, but it's still interesting information (tested on another A2 VM with 20s total request time while the profiler being attached):
Almost no parallelization is being done.
Initially when we deployed our Azure App Service - Web app (hosted in Resource Group1) and our Azure SQL database (hosted in Resource Group2), the app was very slow. The mistake that I made was that both the RG1 vand RG2 were in two different locations. Later, when we changed the location of both RGs (recreated them actually) to be the same then the WebApps started running smooth.
Thanks, Prawin