我們的Rails 3.2.8應用程序在重新啓動後需要大約30秒的時間才能加載,加載時間類似於rails console
。這是使用Ubuntu 11,64位的Amazon EC2 m1.small
實例。服務器似乎完全適合在加載(我們有幾個)。啓動時間僅在部署後纔有效發生,這是一個問題。Rails啓動性能:如何跟蹤和調試
有沒有辦法讓Rails實例加載時加載什麼的定時跟蹤?
我們的Rails 3.2.8應用程序在重新啓動後需要大約30秒的時間才能加載,加載時間類似於rails console
。這是使用Ubuntu 11,64位的Amazon EC2 m1.small
實例。服務器似乎完全適合在加載(我們有幾個)。啓動時間僅在部署後纔有效發生,這是一個問題。Rails啓動性能:如何跟蹤和調試
有沒有辦法讓Rails實例加載時加載什麼的定時跟蹤?
您可以通過添加pry
和pry-nav
您的Gemfile
# Gemfile
gem 'pry'
gem 'pry-nav'
一旦到位,你可以簡單地添加binding.pry
到一個文件中加載早在上獲得了相當不錯的演練,這樣的如environment.rb
或boot.rb
。 (這假設你在localhost:3000上運行,否則事情會變得更加複雜。)重新啓動你的應用程序,你應該被放置在一個pry會話中。我們next
來逐步通過您的應用程序啓動時的每行代碼!如果您想從一個跳轉到另一個,則可以在整個代碼中添加多個binding.pry
行,只需鍵入exit
即可轉到下一個。
這不會對您的應用程序進行基準測試,但它可以讓您瀏覽您的應用程序正在執行的操作,這本身可以讓您真正體驗正在花費這麼久的時間。