Heroku上的Rails内存错误R14(带重载的空白屏幕??)

时间:2011-11-16 00:14:16

标签: ruby-on-rails memory heroku

使用:Rails 3.0.3。 Webhost:Heroku.com。 2 dynos& 0工人。

我是一个使用Rails的初学者,刚刚发布了我的第一个项目。根据用户的说法,用户正在遇到间歇性问题,“我得到一个空白的屏幕,上面有一条页面需要重新加载的消息”。不幸的是,我无法更好地解释(来自用户的单向通信渠道)。

我也在日志中收到此错误:

2011-11-09T19:00:12+00:00 heroku[web.1]: Process running mem=598M(116.8%)
2011-11-09T19:00:12+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)

这看起来非常简单。

我每天有大约4 000名访客,大约有10 000页浏览量。

编辑:我还安装了New Relic和Exception通知程序。我得到了很多“执行过期”的问题。

我现在想知道的是:

  • 如何找到这些间歇性错误(我没有时间戳)。我应该在日志中搜索什么(什么字符串)?
  • 内存问题导致Web浏览器崩溃并重新加载(或类似的东西)?或者,这与java-problems有关吗?
  • 最重要的是:如何测试我的应用程序以查看内存最密集的位置?我知道我没有完美的编码,所以我需要找到不好的部分。

再一次,这是我的第一个项目,所以解决方案可能很简单,但请帮助我。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

安装New Relic Standard插件 - 这将让您深入了解您的应用程序以及正在进行的操作。 “Dynos”选项卡将显示应用程序的内存利用率,对于您报告的流量级别而言,这听起来非常高,但这取决于您的应用程序 - 如果您在日志中看到内存错误,那么性能将会受到影响http://devcenter.heroku.com/articles/error-codes#r14__memory_quota_exceeded

您使用的是任何类型的错误处理吗?您可以安装Airbrake插件,以便获得错误通知或使用Exception Notifier gem,它会在发生错误时通过电子邮件向您发送错误消息。一旦你有了这些,你就会知道发生了什么 - 无论是在应用程序中,还是在你没有收到任何内容因素,如访客互联网连接等。