我们有一个在azure中运行的网站作为Web App。只有1个站点实例正在运行。我们看到该网站的常规停机时间,并想知道原因。
我们使用Elmah记录异常,在发生停机之前,我们无法看到任何相关或严重错误。然而,我们看到的是,在停机之后,该站点已备份但在另一台服务器上。 (我们可以看到这一点,因为服务器的主机名发生了变化,当抛出异常时,我们可以在Elmah中看到它来自哪个服务器。)小例子:
Server: X
Some small Exception thrown on server X, shows up in Elmah
site goes down
Site comes back up
Server: Y
Some small exception thrown on server Y, shows up in Elmah
现在我知道azure有快速失败保护和自动修复,但在我们的场景中,我无法区分我们的网站
a)移动到另一台服务器然后停机(因为只有1台 实例)
b)
中的快速失败保护或自动愈合如果是选项a:有没有人知道基于什么天蓝色移动网站?
如果是选项b:有没有人知道如何确定某些事情是什么/如何引发快速失败保护或自动愈合的?
答案 0 :(得分:3)
由于各种原因,您的网站可能会被移动到其他服务器。主要的两个是:
通过自动治疗我假设你在谈论this功能。当你的站点中的自动修复踢将停留在同一台服务器上。
摘要:如果服务器出现问题(它已经关闭/正在升级),那么您将被转移到新服务器。如果您的应用程序存在问题(自动修复,崩溃),那么您将保持在同一台服务器上。
答案 1 :(得分:2)
您无法控制您的webapp将在哪台服务器上运行,因为它是PaaS。 Azure会在标准的20分钟超时空闲时卸载您的站点,可能是在下一个请求时,您的webapp已在另一个VM中启动。
你可以做的一些事情:
1-)启动一个新实例(Microsoft建议至少两个实例)
2-)启用始终打开,这将持续ping您的网站以避免这种情况。
答案 2 :(得分:0)
在这种情况下,您认为“停机时间”是什么?该网站是否开始抛出一堆50X错误?
在 general 中,当网站被移动到另一台机器时,它应该是相当透明的,不会造成“停机”。