如何在rails app的内存中分析生产ruby

我的Ruby on Rails应用程序在Heroku上运行,其dyno具有512兆字节的RAM。 它正在使用几乎所有的RAM从应用程序启动,它只会从那里变得更糟。 我没有在启动时从数据库加载大量数据,所以不明白它为什么要使用这么多内存。

如何在生产中分析我的应用程序,以便了解内存使用的来源? 我知道我可以选择添加另一个dyno或增加dyno内存,但我想先了解发生了什么。

Heroku有一个log-runtime-metricsfunction来监视内存使用情况。

您可以运行此命令来启用:

 heroku labs:enable log-runtime-metrics 

并且内存使用情况将显示在服务器日志中。

有关详细信息,请参阅Heroku Labs:log-runtime-metrics 。

此外,您可以使用New Relic进行内存分析。

有关详细信息,请参阅文档 。

我推荐用于内存分析的另一个很棒的资源是rbkit