如何配置Rails应用程序的启动?

时间:2011-12-23 09:52:58

标签: ruby-on-rails ruby performance profiling

简单的问题,我有一个传统的Rails 2.3应用程序,它需要很长时间才能完成。 rake需要超过25秒,但看起来并没有发生任何事情。

有没有简单的方法我可以从应用程序加载时获得某种分析器转储,以查看哪些方法花费的时间最长?

Rails 2.3和3.1的解决方案将更有帮助。

2 个答案:

答案 0 :(得分:10)

描述需要rails环境的rake任务,如下所示:

 desc "Load it"
 task :loadit => :environment do

 end

然后使用ruby-prof

进行配置文件
ruby -Ilib -S ruby-prof -p graph_html `which rake` loadit > profile.html

应该使用rails 2.3只在3.x上测试过它但是我没有理由认为它不应该工作。

答案 1 :(得分:1)

您可以使用挂钩的分析器启动您的应用程序,例如ruby-profperftools.rb。当它仍在启动时,启动针对它的HTTP查询,一旦应用程序启动,它将尝试GET /kill_me路由。 /kill_me可能会导致您的应用程序通过调用exit而优雅地死亡。结果你得到了你的创业公司简介。