为什么我的Azure网站一直崩溃?

7
我正在测试微软的Azure云平台,并托管两个非常低要求的网站。一个是简单的单表MVC网站,仅接受用户输入,执行一些计算并输出结果。第二个类似,但它对Azure SQL Server实例执行简单查询。
这两个网站经常崩溃。看起来发生的情况是,如果我有一段时间没有访问该网站(可能是一个小时左右),GET请求就会失败。服务器上没有任何返回内容。如果我等待一两分钟再试一次,网站就可以正常工作。
有人知道发生了什么或者我该如何解决吗?如果可靠性这么低,我显然无法在此平台上托管网站...

我在Azure上运行了多个实例数月,除非Web角色抛出异常导致角色被回收,否则从未遇到你所描述的情况。这是一个Web角色还是Azure网站? - cillierscharl
还有一条可能有用的信息。当我尝试在Chrome中加载该网站时,我会收到以下提示:"错误101(net::ERR_CONNECTION_RESET):连接被重置。" - user1024824
你是在自由模式还是共享模式下运行?你可能想观看这个Windows Azure网站架构概述,它描述了如何实现配额。 - cory-fowler
我正在运行共享模式... - user1024824
@user1024824 - 你的网站是在美国托管的吗?我在这里看到他们列出了间歇性问题:https://www.windowsazure.com/en-us/support/service-dashboard/ 在底部。 - cillierscharl
是的...但它仍在发生。 - user1024824
1个回答

9
Windows Azure网站使用了冷(非活跃)和暖(活跃)站点的概念,这意味着只要网站有活动连接,它就会是暖或活跃的。当网站没有任何活动连接时,默认经过一段时间后,它将进入冷或不活跃的站点模式。一旦建立到同一站点的新连接,站点将从非活跃(冷)模式唤醒为活跃(暖)模式,并且根据需要呈现在网站上的内容类型,可能需要几秒钟来完成启动过程。温暖和冷站点的概念在此处中描述。
技术上,如果立即返回冷网站的第一个GET请求将失败,但是此调用确实使站点处于活动状态,并且下一个请求将成功。
在SO讨论中,索引页面必须连接到DB才能获取数据,因为连接到DB的连接时间较长,导致整体启动时间超出预期。因此,从冷到暖的转换可能需要更长的时间,您可以联系Windows Azure网站团队检查为什么会出现这种情况。

好的,这是我从任何人那里得到的最接近答案的东西,并且它完美地解释了症状。但是,有解决方案吗?例如,切换到保留实例会让我保持在温暖状态吗? - user1024824
更新:保留实例似乎有所帮助,超时时间已从一两分钟增加到大约15-20分钟。然而,我仍然遇到这个问题。不能在一个每15分钟就会崩溃的平台上运行网站。我需要编写一个进程来 ping 网站并保持其活跃吗? - user1024824
由于网站仍处于预览阶段,因此没有内置功能可用于保持其活动状态。您需要添加一些脚本或具有某种实时连接以满足您的需求。当网站功能达到GA时,可能会提供一些内置功能来满足这种需求,并使用保留实例。 - AvkashChauhan
我没有考虑过脚本。我将尝试在后台生成一个线程,每5分钟获取一次资源,看看是否有效。 - user1024824
@user1024824 我的解决方案是在http://www.monitor.us/上添加了一个HTTP GET监视器,免费订阅可以每30分钟执行一次。我尝试在Azure配置中将AlwaysON设置为ON,但没有任何变化,我还尝试添加监控端点,但问题依旧。这似乎提高了我们网站http://netuyconf.com的可用性。 - kzfabi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接