繁体   English   中英

503服务不可用但heroku日志显示200

[英]503 Service Unavailable but heroku logs show 200

我正在拨打昂贵的Heroku Rails服务器电话。 13-15秒后,浏览器中的控制台报告服务不可用503错误。 但是,当我检查我的heroku日志时,它会报告:

Completed 200 OK in 45592ms (Views: 220.3ms | ActiveRecord: 33457.5ms)

其他时候heroku日志报告内存超出配额。 以下是此示例。

2015-06-11T15:17:20.238285+00:00 app[web.1]: Completed 200 OK in 81881ms (Views: 201.6ms | ActiveRecord: 18021.2ms)
2015-06-11T15:17:33.482930+00:00 heroku[web.1]: Process running mem=841M(164.4%)
2015-06-11T15:17:33.482930+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2015-06-11T15:17:53.147570+00:00 heroku[web.1]: Process running mem=841M(164.4%)
2015-06-11T15:17:53.147679+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2015-06-11T15:17:59.751540+00:00 app[web.1]: E, [2015-06-11T15:17:59.695813 #3] ERROR -- : worker=2 PID:13 timeout (121s > 120s), killing
2015-06-11T15:17:59.916750+00:00 app[web.1]: E, [2015-06-11T15:17:59.906435 #3] ERROR -- : reaped #<Process::Status: pid 13 SIGKILL (signal 9)> worker=2
2015-06-11T15:18:02.487428+00:00 app[web.1]: I, [2015-06-11T15:18:02.427293 #16]  INFO -- : worker=2 ready

当控制台报告503时,为什么报告已完成200?

这里有两件不同的东西:

  • 你的应用
  • heroku负载均衡器

在这种情况下,负载均衡器会看到请求过长并向您发送503.在后面,服务处理请求并返回完成200。

看到:

https://devcenter.heroku.com/articles/limits

https://devcenter.heroku.com/articles/request-timeout

Heroku没有为error-code = H10提供太多信息。 简单来说,你的应用程序代码/配置出了问题。 要查看出现了什么问题,请运行heroku run rails console ,您将能够看到错误详细信息,这将有助于您解决错误。 无需使用日志。 heroku run rails console是一个很大的帮助

当我使用Node时,这发生在我身上。 我把超时30秒,我曾经得到HTTP:503。 然后我才知道导致问题的是超时。 我将超时更改为<30秒,并且工作正常。 也许是因为Heroku使用的负载均衡器。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM