【发布时间】:2010-04-26 19:53:17
【问题描述】:
如何分析控制器操作?
我的一个观点是渲染需要相当长的时间,我想将其分解。我看到script/performance/profiler,但这似乎只能访问全局范围。
【问题讨论】:
如何分析控制器操作?
我的一个观点是渲染需要相当长的时间,我想将其分解。我看到script/performance/profiler,但这似乎只能访问全局范围。
【问题讨论】:
ruby-prof 是要走的路。这是一个方法,How to profile your Rails and Ruby applications with ruby-prof。
如果您将它与kcachegrind 等可视化工具结合使用,您可以轻松地将作为您的应用程序代码的代码与框架代码分开。
不久前,我在我当地的 Ruby 用户组就这些工具做了一次演讲:Making your rails app kick ass with ruby-prof and kcachegrind。
【讨论】:
script/performance/request。
Ruby on Rails 控制台应该会显示哪些部分需要一段时间才能呈现。如果这还不够,您可以安装新的 relic gem (https://github.com/newrelic/rpm) 并在开发人员模式下使用它,这将使您大致了解正在发生的事情。
如果您在 Heroku 上进行部署,您可以添加免费版本的 rpm,它会为您提供有关正在运行的应用程序的相同统计信息。
Ruby 有一个分析器 (http://ruby-prof.rubyforge.org/),它会向您显示内存使用情况、调用时间等,但可能很难从框架代码中传播您的代码。
【讨论】:
我在https://github.com/bhb/rack-perftools_profiler 上取得了一些成功
它可以让您对任何 cputime、方法、对象分配或 walltime 的单个或多个请求进行分析,并通过 Rack 中间件很好地集成。
【讨论】: