云服务始终开启不起作用

时间:2015-12-21 21:41:31

标签: azure iis azure-cloud-services

我在Azure中的云服务中运行Web Api服务。我注意到很多人在这里第一次打电话似乎需要永远(差不多1分钟),随后的电话是正常的。我环顾四周,发现了几个解决方案,一个是在部署的角色启动中添加启动脚本

REM *** Prevent the IIS app pools from shutting down due to being idle.
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00

REM *** Prevent IIS app pool recycles from recycling on the default schedule of 1740 minutes (29 hours).
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.recycling.periodicRestart.time:00:00:00

将AppPool的Start Mode属性设置为AlwaysOn。进行这些更改后,我仍然看到最初部署Cloud Service并且Web服务被点击时的延迟问题。那么可能会发生什么?我是否需要编写一个脚本以在启动Cloud Service时“预热”Web服务?

3 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,Isaac,正如您所建议的那样,在新部署(自动化)后添加了几次API调用,因此生产用户不会遇到延迟。

如果有更好的方法,我也很好奇。

答案 1 :(得分:0)

您可以使用暂存环境实现零停机部署。将您的应用程序部署到临时插槽并在那里预热。当你觉得准备好时,只需交换。 Azure将耗尽当前连接并平滑地更改端点。 http://free-electrons.com/doc/training/linux-kernel/linux-kernel-labs.pdf

答案 2 :(得分:0)

我使用Azure Scheduler作业,每5分钟对我的网址进行一次GET。您可以根据需要安排它。它默认情况下也会自动重试,您也可以创建失败操作。

相关问题