2010-04-26 75 views

回答

8

ruby-prof是要走的路。這裏有一個HOWTO,How to profile your Rails and Ruby applications with ruby-prof

如果將其與可視化工具(如kcachegrind)結合使用,則可以輕鬆地將框架代碼中的應用程序代碼與代碼分開。

我在當地的Ruby用戶組中討論了這些工具:Making your rails app kick ass with ruby-prof and kcachegrind

+0

我試圖按照在這裏給出的鏈接中的說明,但發現'腳本/性能/ request',除去從線路2.3.2開始。 – 2012-08-08 11:33:44

+0

是的,這個答案是Rails-2的具體細節,因爲我在2010年給出了它。不確定Rails 3做這個的方法... – 2012-08-09 00:01:10

+1

變更日誌(http://rails.rubyonrails.org/files/railties/CHANGELOG.html )說:刪除腳本/性能/請求,以支持性能集成測試。 [PRATIK奈克] 「要繼續使用腳本/性能/請求,安裝request_profiler插件: 腳本/插件安裝的git://github.com/rails/request_profiler.git」 – 2012-08-09 00:01:37

2

on Rails的控制檯紅寶石應該顯示哪些泛音正在服用一段時間才能呈現。如果這還不夠,你可以安裝新的遺物寶石(https://github.com/newrelic/rpm),並在開發者模式下使用它,這將給你一個概覽。

如果你在Heroku部署,您可以添加轉的免費版本,這將給你上運行的應用程序相同的統計數據。

Ruby有一個分析器(http://ruby-prof.rubyforge.org/),它將向您顯示內存使用情況,調用時間等,但可能很難從框架代碼傳播您的代碼。

+0

New Relic可以告訴你更多一點,但它沒有逐行代碼分析,這是完整性能分析所必需的。 – 2012-11-28 18:06:22

+0

並沒有下windof – halfbit 2015-12-23 23:16:13