17
votes

I've a .net 4.5 website running on Azure Websites. I've a staging deployment set up. I warm up both sites and then i run the swap process (both from azure portal and from Azure powershell). No matter what I try the swapping process restarts my websites (both) and they take about 3 minutes to boot up.

I was under the impression the deployment swapping was supposed to keep the websites "warm" and have no down time? My websites are unusuable for about 3 minutes!

As far as I can tell both production and staging slots have the same application settings etc.

Any advice or pointers would be greatly appreciated.

2
did you find a workaround ?Guy Korland

2 Answers

5
votes

Jeff is right. When there are sticky app settings or connection strings defined for the slot then the website's worker process will be restarted during the swap. The sequence of actions that happen in that case is this:

  1. Apply the sticky settings from production slot to the site's worker process that is currently in staging slot. That causes the restart of worker process;
  2. Warm up the site's worker process in the staging slot by making http requests to its root URL on every VM instances where site should be running;
  3. Swap the worker processes between slots. Now the warmed up worker process is in production slot and is accepting production traffic;
  4. Apply the sticky settings from staging slot to the worker process that is currently in staging slot. At this point this is the "used to be in production" worker process. This config change causes restart of that worker process, but at that point it does not take any production traffic.
0
votes

I've run into this when I am using the sticky app settings options. My assumption is that it does the swap but then has to change the setting to the sticky value and therefore it is like you making a change in web.config or changing the value in the portal yourself which needs to restart the app.

I haven't found any official documentation on this but if you have sticky slots setup I believe it is the culprit. And I'm not sure if there is anything that can be done about it if that is the case.