Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails启动性能:如何跟踪和调试_Ruby On Rails 3_Performance_Passenger - Fatal编程技术网

Ruby on rails 3 Rails启动性能:如何跟踪和调试

Ruby on rails 3 Rails启动性能:如何跟踪和调试,ruby-on-rails-3,performance,passenger,Ruby On Rails 3,Performance,Passenger,我们的Rails 3.2.8应用程序在重新启动后大约需要30秒才能加载,Rails控制台的加载时间与之类似。这是一个AmazonEC2m1.small实例,带有Ubuntu 11,64位。服务器似乎完全适合负载(我们有几个)。启动时间是一个问题,实际上只有在部署之后才会发生 有没有一种方法可以在Rails实例加载时获得加载内容的定时跟踪?通过将pry和pry nav添加到您的文件中,您可以获得一个非常好的演练 # Gemfile gem 'pry' gem 'pry-nav' 一旦安装好,您可

我们的Rails 3.2.8应用程序在重新启动后大约需要30秒才能加载,Rails控制台的加载时间与之类似。这是一个AmazonEC2
m1.small
实例,带有Ubuntu 11,64位。服务器似乎完全适合负载(我们有几个)。启动时间是一个问题,实际上只有在部署之后才会发生


有没有一种方法可以在Rails实例加载时获得加载内容的定时跟踪?

通过将
pry
pry nav
添加到您的文件中,您可以获得一个非常好的演练

# Gemfile
gem 'pry'
gem 'pry-nav'
一旦安装好,您可以简单地将
binding.pry
添加到早期加载的其中一个文件的顶部,例如
environment.rb
boot.rb
。(这假设您在localhost:3000上运行,否则事情会变得更复杂。)重新启动应用程序,您应该进入pry会话。我们
下一步
逐步浏览应用程序启动时点击的每一行代码!您可以添加多个
绑定。如果您想从一行跳转到另一行,只需键入
exit
即可移动到下一行


这不会对你的应用程序进行基准测试,但它会让你逐步了解你的应用程序正在做什么,这本身可能让你真正体验到花了这么长时间的事情。

这没什么用处,因为Ruby鼓励太多元编程,以至于你不得不一步一步地进行数百次,甚至数千次的调用,获取有意义的信息