rails ruby​​-prof和基准测试

时间:2009-04-17 18:40:31

标签: ruby-on-rails ruby performance profiling ruby-prof

我正在运行Rails 2.2.2。我已经阅读了一些关于ruby-prof和profiling rails应用程序的文章。而且我对事情是如何运作感到困惑。

我最初使用的是本教程 http://snippets.aktagon.com/snippets/255-How-to-profile-your-Rails-and-Ruby-applications-with-ruby-prof 配置我的应用程序,它的工作原理。这包括编写您自己的个人资料环境并运行> RAILS_ENV=profiling ./script/performance/request -n 100 profiling/homepage.rb

所以这是我的困惑。不知何故,这会运行ruby-prof并打开所有统计数据等,但我无法看到任何实际调用ruby-prof的地方。

然后我进一步阅读,似乎2.2.2内置了基准测试/分析。所以我在性能部分写了一个测试文件,如此

require 'test_helper'
require 'performance_test_help'

# Profiling results for each test method are written to tmp/performance.
class BrowsingTest < ActionController::PerformanceTest
  def test_worksheet
    get '/reduction/worksheet'
  end
end

并运行

  

rake test:profile

这是否与我上面所做的相同,但是现在它已经集成到整个rails框架中了?

我的下一个问题是这个。原始脚本输出一个平面文件和html文件,但我无法弄清楚如何使用KCacheGrind或我的MacCallGrind自动获取树文件。我可以在脚本调用中添加格式吗?

编辑:通过rake测试运行脚本似乎实际上产生了一个树文件,很棒。但是,当试图解析它时,Mac CallGrind似乎挂了。有人知道查看这些树文件的其他工具吗?

2 个答案:

答案 0 :(得分:1)

事实证明,它完全相同,我一定是在读一本旧教程。所有的基准测试和分析现在都在Rails中,这很棒。它输出txt,html和树文件,也很棒。现在,如果只有MacCallGrind可以工作,我就无法安装只需查看树文件的4GB KDE包。

答案 1 :(得分:1)

Brad,您应该联系MacCallGrind的作者,看看是否有更新,或者他/她是否修复了您的文件。

哦,没错,就是我。请发送电子邮件至richard at symbol aggmedia.net,因为有更新即将发布,我很乐意提供Ruby / Rails支持。