heroku路由器 - - at =错误代码= H12 - 网站每天或每两天停机30秒

时间:2015-12-09 08:17:26

标签: ruby-on-rails heroku puma

Heroku Rails站点每天或每两天最多停机30秒,由uptime-robot发送警报。

尝试运行一些基本的负载测试,并且在稳定的流量下似乎没有关闭网站。没有在主页上运行任何昂贵的查询。

错误日志如下所示。在爱好dev上运行rails。 没有通过New Relic获得任何错误。跑Puma'puma','〜> 2.15.3' 。 在机架超时初始化器上设置此项:Rack :: Timeout.timeout = 15

  

Dec 07 20:14:46 sleepy-wave-3748 heroku / router:at = error code = H12 desc =“Request timeout”method = GET path =“/”host = mySiteUrlHere request_id = 274ed877-2edb-43f2- 8b77-c7a82f17109a fwd =“69.162.124.231,108.162.221.131”dyno = web.1 connect = 1ms service = 30007ms status = 503 bytes = 0

     

Dec 07 20:35:46 sleepy-wave-3748 heroku / router:at = error code = H12 desc =“Request timeout”method = HEAD path =“/”host = mySiteUrlHere request_id = 1b43b249-f089-4a4a- a42b-b2886d607fa8 fwd =“69.162.124.231,108.162.221.131”dyno = web.1 connect = 0ms service = 30003ms status = 503 bytes = 0

任何建议?

2 个答案:

答案 0 :(得分:2)

Heroku通常会在30秒后断开连接并返回503错误。您的服务似乎可能成功响应,但在30秒后过了。这可以解释为什么你没有看到应用程序错误但看到Heroku错误。

编辑:我想我可能误解了你的问题。 Heroku在一些dynos上经历了一个骑行过程。在此期间,您的应用程序可能会出现故障。如果您使用的是免费动态,它们需要一段时间的停机时间(每24小时滚动一次)

答案 1 :(得分:0)

我想我已经解决了。我在Puma github帐户中找到了与此问题相关的拉取请求,并注意到该修复程序已包含在Puma的更高版本中。升级我的Puma版本后,问题已经停止发生。希望这可以帮助其他人。

注意,我从2.11.2升级到Puma 2.15.3。