如何使用详细信息分析 Rails 请求?

Posted

技术标签:

【中文标题】如何使用详细信息分析 Rails 请求?【英文标题】:How to profile a Rails request with details? 【发布时间】:2011-11-19 18:26:36 【问题描述】:

我有一个页面请求需要超过 12 秒才能呈现。我正在使用 newrelic lite 来跟踪此应用程序的性能,但就我而言,它不是很有用。它只显示一行:

PagesController#index 0.001  13,030 13030

所以,不是很有用。 :) 我记得使用我认为ruby-prof 的工具,这很好。您为请求提供了类似?profiler=true 的内容,它为您提供了方法调用所花费时间的所有详细信息(不在浏览器中显示实际页面)。不幸的是,我再也找不到它了。

有什么想法可以为每个请求/页面提供更详细的分析器吗?

使用:Ruby 1.9.2、Rails 3.1.1、RSpec、New Relic RPM 3.3.0、Mongoid 2.3.3

【问题讨论】:

【参考方案1】:

你在正确的轨道上。

在您的Gemfile 中使用gem 'ruby-prof'gem 'newrelic_rpm',您会在http://localhost:3000/newrelic 页面上看到一个新选项,上面写着Start profiling。现在,newrelic 页面上的每个请求都将是完整的个人资料,而不仅仅是摘要。

【讨论】:

【参考方案2】:

听起来您正在寻找rack-perftools_profiler。我已经将它用于您所描述的内容并且效果很好。

【讨论】:

是的,正是我想要的,(gif/pdf 视图很难理解),谢谢!

以上是关于如何使用详细信息分析 Rails 请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ruby on Rails 发出 HTTP 请求?

如何使用 Ruby on Rails 发出 HTTP 请求?

如何使用Rails和Heroku创建多个并行并发请求

如何使用相同的表单在 ruby​​ on rails 中创建和编辑

如何根据 Rails 中的其他对象验证多对多关联?

我如何才能完整地分析 Rails 应用程序,而不仅仅是控制器? [复制]