如何在Ruby on Rails中分析请求?

如何配置控制器操作?

我的一个观点是花了相当长的时间来渲染,我想把它分解。 我看到了script/performance/profiler ,但似乎只能访问全局范围。

ruby-prof是要走的路。 这是一个howto, 如何使用ruby-prof配置您的Rails和Ruby应用程序

如果将它与可视化工具(如kcachegrind)结合使用,则可以轻松地将作为应用程序代码的代码与框架代码分开。

我前一段时间在我当地的Ruby用户小组讨论了这些工具: 使用ruby-prof和kcachegrind让你的rails应用程序发挥作用

Ruby on Rails控制台应该向您显示哪些部分需要花费一段时间才能呈现。 如果这还不够,你可以安装新的遗物gem(https://github.com/newrelic/rpm)并在开发者模式下使用它,它将为你提供正在发生的事情的概述。

如果您在Heroku上部署,可以添加免费版本的rpm,它将为您提供与正在运行的应用程序相同的统计信息。

Ruby有一个分析器(http://ruby-prof.rubyforge.org/),它将向您显示内存使用情况,调用时间等,但可能很难从框架代码中传播您的代码。

我在https://github.com/bhb/rack-perftools_profiler上取得了一些成功

它可以让您分析任何cputime,方法,对象分配或walltime的单个或多个请求,并通过Rack中间件很好地集成。