0

可能重复:
天蓝色网站的应用程序池超时

我正在开发一个托管在 Windows Azure 中的 asp.net mvc 4 应用程序。这个应用程序不会有很多流量,因为人们会间歇性地(每小时一次)使用它。我想尝试使用 Windows Azure。

我的应用程序当前设置为使用免费网站模式。我注意到 30 分钟后,网站需要很长时间(> 5 秒)才能加载。在初始加载之后,它很快。然后,如果有人在 30 分钟内不使用它,则再次加载需要 >5 秒。

然后我尝试将网站模式升级为共享实例。我在那里遇到了同样的问题。

然后我尝试将网站模式升级为 RESERVED 实例。然后问题就消失了。

虽然我想使用 Windows Azure,但对于一个迄今为止很少有人使用过的站点来说,每月为 RESERVED 实例支付 50 美元以上的费用是相当昂贵的。但是,我不能有最初的滞后。这只会推迟我拥有的少数用户。你可以说你得到了你所支付的。同时,我很难相信其他人正在经历这个问题而不抱怨。一定有我想念的东西。

我认为问题必须处理应用程序池重置。但是,我似乎无法解决这个问题。有人熟悉这个问题吗?有没有办法在免费或共享实例上修复它?

谢谢!

4

2 回答 2

2

这是基于 Windows Azure 网站工作方式的预期行为。他们居住的应用程序池是“按需”启动的,然后在一段时间内闲置。

有关详细(和无耻的插件),您可以查看我的文章:http ://www.simple-talk.com/dotnet/.net-framework/windows-azure-websites-%e2%80%93-a -new-hosting-model-for-windows-azure/

总之:

网站托管在运行 IIS 的机器群上的进程中。如果站点闲置了一段时间,则该过程将自动关闭。此外,如果盒子由于盒子上的其他站点而受到很大压力,则空闲超时可能会降低很多(甚至低至五分钟)。当下一个电话进来时,您会看到该过程再次启动(可能在完全不同的服务器上)。这是因为您处于共享环境中(并且类似于 Heroku 的工作方式)。一旦你移动到保留,那么你就是那个虚拟机上唯一的人,如果你因为你自己的东西而在处理它时遇到嘈杂的邻居问题。

有一些方法可以让您的网站保持“正常运行”,例如有一份经常 ping url 的工作;但是,鉴于空闲超时有点不稳定,它可能无法解决所有情况。您可以查看 Sandrino 最近关于如何将 Azure 移动服务用作作业调度程序的帖子:http: //fabriccontroller.net/blog/posts/job-scheduling-in-windows-azure/。还有可用的 3rd 方服务可以自动为您执行 ping。

老实说,网站是快速开发和测试的一个很好的功能,甚至是你所说的相对低流量的网站。如果您需要高水平的正常运行时间和更好的性能,那么您将需要查看预留,或者如果成本不符合预期,则可以选择其他选项。

于 2012-12-31T15:54:58.753 回答
0

这不是 Azure 问题。它是 IIS 中托管的任何网站的“功能”。应用程序池的默认超时为 20 分钟。在此处阅读有关应用程序池超时的信息 - http://technet.microsoft.com/en-us/library/cc771956(v=ws.10).aspx - 一种方法是创建一个保持活动页面并每 10 分钟 ping 一次页面或者。

于 2012-12-31T15:44:43.523 回答