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

Jak*_*old 8 ruby performance profiling ruby-on-rails

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

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

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

sun*_*ity 10

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

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

 end
Run Code Online (Sandbox Code Playgroud)

然后用ruby-prof描述

ruby -Ilib -S ruby-prof -p graph_html `which rake` loadit > profile.html
Run Code Online (Sandbox Code Playgroud)

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

  • `rake environment`是一个完成任务的任务 - 加载Rails环境. (3认同)

Jan*_*Jan 1

您可以使用连接的分析器来启动您的应用程序,例如ruby​​-profperftools.rb。当它仍在启动时,对其启动 HTTP 查询,这将在应用程序启动后立即尝试路由GET。可能会导致您的应用程序通过调用优雅地终止。这样您就获得了您的初创公司的简介。/kill_me/kill_meexit