We have notice a huge performance impact on our asp.net mvc application since we moved to azure web apps. One thing we've noticed is that request times slow down significantly when an action is loaded the first time in a couple hours. Our app is not used a lot so there's a lot of idle time. I'll give a few examples (please note these are just back-end request response times, and exclude dom, js, image, etc. load times):
- user dashboard - first request will take around 20 seconds. Subsequent loads are around 1 second
- loading some object - first request will be around 7 seconds. refreshing will get you around 2 secs. loading other objects using same action is also faster after that action is hit the first time
I realize that some of the speed up might be due to query caching, but I am wondering if that's all. I am on a standard plan and do have "Always On" enabled, so I know that's not the issue. And this seems to be happening per action. So even if the user visited action1 already and now visits action2 for the first time, they'll still experience slowness.
What can I look for here to fix? Are there any azure specific settings?