Heroku上Rails应用程序中“Timeout :: Error:execution expired”错误的数量增加

时间:2013-08-15 05:08:38

标签: ruby-on-rails heroku timeout

几个月前,我终于将Heroku上的Rails应用程序升级为Cedar堆栈和Rails 3.2。由于在Cedar文档中有人建议,我使用这一行Rack::Timeout.timeout = 20创建了一个初始化程序。一切都运行良好很长一段时间,但在过去的一周里,我突然开始收到大量Timeout::Error: execution expired错误和相关的NoMethodError: undefined method 'result' for #<Timeout::Error: execution expired>错误。

所有错误都出现在网站的普通部分,显示数据库的基本内容,没有进行交互式操作,在正常情况下可能需要接近20秒才能处理。

当流量增加到需要更多dynos的程度时,会发生这种情况吗?对于这些神秘错误的来源,您可以给出任何建议。

我最近对网站所做的一些更改:

  • 从Heroku Dev db升级到Heroku Basic db
  • 在我的gemfile ruby '1.9.2'
  • 中明确定义了Ruby版本
  • 添加了IronWorker(来自iron.io)来执行一些后台任务(仅限管理员,而不是看到错误的日常用户)我在config/application.rb中使用以下行设置它:{{ 1}}

更新:我查看了New Relic,Heroku Basic数据库性能存在极大问题。在过去24小时内,数据库响应时间已经徘徊在1000ms到6000ms的较高端。这是我的错误,还是Heroku的问题?

0 个答案:

没有答案