为啥 Azure 会出现间歇性错误 503。服务不可用?

Posted

技术标签:

【中文标题】为啥 Azure 会出现间歇性错误 503。服务不可用?【英文标题】:Why does Azure give me an intermittent Error 503. The service is unavailable?为什么 Azure 会出现间歇性错误 503。服务不可用? 【发布时间】:2013-09-18 09:34:56 【问题描述】:

我有一个运行了很长时间的 Azure 服务。它根据请求中的参数构建一个 word 或 powerpoint 文档,并将一个 uri 返回到构建文档。这是通过 visualforce 页面访问的,当您单击按钮时,它会调用服务并显示指向刚刚构建的文档的链接。很简单。

突然间,我收到一个明显随机的 503 Service Unavailable 错误。有时我点击按钮,没问题。其他时候是 503 错误。每次按钮触发完全相同的请求。有谁知道为什么会发生这种情况?

显然,一遍又一遍地做同样的事情并期待不同的结果,这不是精神错乱!

感谢您花时间阅读本文。

【问题讨论】:

【参考方案1】:

503 错误只是表明您的应用程序池无法访问,它是间歇性的,因为您的应用程序池正在重新启动,因为缺乏资源(处理器、内存等)。

扩展您的实例(云服务或虚拟机),为应用程序池获取更多资源。

【讨论】:

当我是唯一使用此服务的人时,怎么会这样?好像我有成千上万个请求。【参考方案2】:

查看对我的服务的监控告诉我,处理器的使用率从未超过 6%,因此不可能是资源不足导致这些间歇性 503 错误。这很奇怪,恐怕我对此没有任何解释,但简单地将云服务重新部署到 Azure 似乎已经成功了。它现在完美运行。解决方案没有改变,所以我只能想象部署后需要进行的任何“重新启动”,已经解决了任何问题。我只能建议您在遇到间歇性 503 错误时尝试相同的操作。

【讨论】:

在部署后,我们的站点上发生了完全相同的事情。在第二次相同的部署后,它解决了问题。 我们遇到了同样的问题。通过扩展服务器来修复它。【参考方案3】:

对我来说,当我设置自动缩放时,错误就消失了。我认为故障转移请求被路由到我的第二个虚拟机,第二个虚拟机需要一些时间才能启动,因为它还没有为活动做好准备。自动缩放关闭了我的第二个虚拟机并且错误不再出现(我假设如果/当我获得足够的流量来使用它时它会启动)。

希望这也对某人有所帮助。

【讨论】:

【参考方案4】:

每当我在美国中南部使用存储帐户创建 Azure 函数时都会收到此错误。如果我在不同区域使用存储帐户,则该功能有效。

尝试使用不同于您当前使用的区域的存储帐户,看看它是否可以解决您的问题。

【讨论】:

以上是关于为啥 Azure 会出现间歇性错误 503。服务不可用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Stackdriver 日志中会间歇性出现空行?

为啥使用openmp时会间歇性出现“fatal error C1001”错误?

设置上的 Varnish 错误 503

如何使用超时设置解决 AWS ELB/EC2 HTTP 503?

Azure 容器生成错误“503”原因“站点不可用”

服务器返回503错误Visual Studio代码MarketPlace [关闭]