Ruby on rails 3 Rails启动性能:如何跟踪和调试
我们的Rails 3.2.8应用程序在重新启动后大约需要30秒才能加载,Rails控制台的加载时间与之类似。这是一个AmazonEC2Ruby 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' 一旦安装好,您可
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鼓励太多元编程,以至于你不得不一步一步地进行数百次,甚至数千次的调用,获取有意义的信息