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


如何配置控制器操作?

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


8914
2018-04-26 19:53


起源



答案:


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

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

我在本地Ruby用户组讨论了这些工具: 使用ruby-prof和kcachegrind制作你的rails应用程序


8
2017-11-05 11:32



我试着按照这里给出的链接中的说明,但发现了 script/performance/request 从Rails 2.3.2开始删除。 - Alex D
是的,这个答案是Rails-2具体,正如我在2010年给出的那样。不确定Rails 3做这个的方法...... - Taryn East
变更日志(rails.rubyonrails.org/files/railties/CHANGELOG.html)说:删除脚本/性能/请求,以支持性能集成测试。 [Pratik Naik]“要继续使用脚本/性能/请求,请安装request_profiler插件:script / plugin install git://github.com/rails/request_profiler.git” - Taryn East
感谢您添加此信息... +1 - Alex D


答案:


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

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

我在本地Ruby用户组讨论了这些工具: 使用ruby-prof和kcachegrind制作你的rails应用程序


8
2017-11-05 11:32



我试着按照这里给出的链接中的说明,但发现了 script/performance/request 从Rails 2.3.2开始删除。 - Alex D
是的,这个答案是Rails-2具体,正如我在2010年给出的那样。不确定Rails 3做这个的方法...... - Taryn East
变更日志(rails.rubyonrails.org/files/railties/CHANGELOG.html)说:删除脚本/性能/请求,以支持性能集成测试。 [Pratik Naik]“要继续使用脚本/性能/请求,请安装request_profiler插件:script / plugin install git://github.com/rails/request_profiler.git” - Taryn East
感谢您添加此信息... +1 - Alex D


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

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

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


2
2017-11-04 15:52



New Relic可以告诉您更多,但它没有逐行代码分析,这是完整性能分析所必需的。 - Chris Nicola
并且不受风吹 - halfbit


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

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


0
2017-08-06 17:44