当我进行部署插槽交换时,为什么azure会重新启动网站?

时间:2015-03-18 18:52:38

标签: azure continuous-integration azure-web-sites continuous-deployment

我在Azure网站上运行了一个.net 4.5网站。我已经设置了暂存部署。我对这两个站点进行了预热,然后运行交换过程(来自azure portal和Azure powershell)。无论我尝试什么交换过程重新启动我的网站(两者),他们需要大约3分钟启动。

我的印象是部署交换应该让网站“热情”并且没有停机时间?我的网站大约3分钟不可用!

据我所知,生产和临时插槽具有相同的应用程序设置等。

非常感谢任何建议或指示。

2 个答案:

答案 0 :(得分:5)

杰夫是对的。当存在为插槽定义的粘性应用设置或连接字符串时,将在交换期间重新启动网站的工作进程。在这种情况下发生的一系列行动是这样的:

  1. 将生产槽中的粘性设置应用于当前位于暂存槽中的站点工作进程。这导致工作进程重新启动;
  2. 通过在每个应该运行网站的VM实例上向其根URL发出http请求来预热暂存插槽中的网站工作进程;
  3. 在插槽之间交换工作进程。现在,热情的工人流程正在生产槽中,并且正在接受生产流量;
  4. 将暂存槽中的粘性设置应用于当前位于暂存槽中的工作进程。在这一点上,这是"曾经在生产中#34;工人流程。此配置更改会导致该工作进程重新启动,但此时它不会占用任何生产流量。

答案 1 :(得分:0)

当我使用粘性应用设置选项时,我遇到了这个问题。我的假设是它执行交换但是必须将设置更改为粘滞值,因此就像您在web.config中进行更改或自己更改门户中需要重新启动应用程序的值。

我还没有找到任何关于此的官方文档,但如果你设置了粘性插槽我相信它是罪魁祸首。如果是这种情况,我不确定是否有任何可以做的事情。