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
任何建议?
答案 0 :(得分:2)
Heroku通常会在30秒后断开连接并返回503错误。您的服务似乎可能成功响应,但在30秒后过了。这可以解释为什么你没有看到应用程序错误但看到Heroku错误。
编辑:我想我可能误解了你的问题。 Heroku在一些dynos上经历了一个骑行过程。在此期间,您的应用程序可能会出现故障。如果您使用的是免费动态,它们需要一段时间的停机时间(每24小时滚动一次)答案 1 :(得分:0)
我想我已经解决了。我在Puma github帐户中找到了与此问题相关的拉取请求,并注意到该修复程序已包含在Puma的更高版本中。升级我的Puma版本后,问题已经停止发生。希望这可以帮助其他人。
注意,我从2.11.2升级到Puma 2.15.3。