Azure 应用服务在空闲后超时,即使勾选了 'always on'

标签 azure timeout azure-web-app-service

我有 Azure 应用服务。一切工作正常,但有时它没有响应。即客户端超时的 HTTP 请求。我可以通过查看移动应用程序和应用程序服务中的分析来看到这一点 - 前者发送请求,在 15 秒内没有得到响应,然后超时。另一方面,服务甚至没有记录该请求。

只要该服务有一段时间没有使用(该服务仍处于开发阶段,流量较低),就会发生这种情况。这让我认为该服务会以某种方式进入休眠状态,然后需要一些时间才能启动。如果我立即在失败的查询之后执行另一个查询,则第二个查询会成功。

在应用服务设置中,有一个“始终开启”复选框。我勾选了此项,但这对这个特定问题没有影响。

此外,这是使用标准层,而不是基本层。

还需要做些什么才能让 Azure 应用服务不停止这样的响应吗?

最佳答案

远景:

您的站点是否使用 IIS 重定向设置为仅 HTTPS? 如果是这样,Always On 将无法工作,因为它不支持 HTTPS。发生的情况是 IIS 重定向到 HTTPS,而不运行您的代码。 您可以在 IIS 重定向规则中设置异常(exception),以允许 Always On 不使用 HTTPS。

但是,您从未在日志中看到来自应用程序的请求这一事实非常奇怪,这表明问题可能更奇怪。

关于Azure 应用服务在空闲后超时,即使勾选了 'always on',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061127/

相关文章:

azure - 是否有 AzureDriveTraceListener 的替代方法可以让 TraceSource 事件出现在 Azure 网站流日志中?

azure - 在 ASP.NET 5 MVC 6 中提供静态文件

python - Azure get_blob 仅返回 4KB 的图像大小

azure - 如果没有手动执行 "Run Trigger"操作,则不会触发具有重复计划的逻辑应用

NHibernate command_timeout不适用于批处理

javascript - 从后面的代码加载js setTimeout

asp.net-core - Web App 进程重新启动故障排除

azure - 当客户端连接到 Azure 云服务时,SSL 证书验证有时会成功,有时会失败

azure - Azure SQL 数据库弹性池和 Azure SQL 数据库托管实例之间有什么区别?

python - 无法使用 python eventlet 库超时(eventlet.timeout.Timeout)