如何防止 Azure 云服务(经典)进入休眠状态(2018 年)?

How Do I Prevent An Azure Cloud Service (Classic) From Going To Sleep (In 2018)?

我们有一个网站不断进入睡眠状态,由于我们零星请求的时间敏感性,这会导致错误。

我看到旧 Azure 控制台中有一个 "Always On" 设置,但它似乎不适用于新界面:

这个设置现在在哪里,或者我该如何做等效的设置?

这是我看到的:

有几个选项。其中之一是使用 Traffic Manager Endpoint Monitoring ,它会不断调用您的应用程序,因此它不会回收。或者在启动时自动重新启动。

根据博客 post Windows Azure WebSites and Cloud Services Slow on First Request 你可以 "include a script with your package, which is configured to run as a startup script, every time the role is restarted."

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

如何进行配置可以在 post 的 "Avoid automatic recycle of Azure Cloud Services Web Role" 下找到。

  • 检查 Azure 门户上的云服务可用性。
  • 确保所有角色实例都处于就绪状态。如果他们不是, 参考故障排除blade.
  • RDP进入角色实例并查看IIS进程([=3​​3=])中 任务管理器是 运行.
  • 如果 w3wp.exe 进程未显示在任务管理器中,请转至 IIS 管理器 并重新启动应用程序。
  • 检查您在浏览器中获得的 http 响应代码。 50x 错误是 application-related 问题,请参考故障排除 blade。
  • 检查默认端口 80(对于 http)和 443(对于 https)是 无障碍。使用 TELNET 或 TCPING 确保 w3wp.exe 进程 正在听。
  • 如果您的 Web 应用程序可以在本地访问但不能从外部访问,则它 可能是 network-related 问题。

您可能还想参考 this