我想确定我的应用程序中的延迟时间。我试图把我的请求花费的时间比广告时间长得多的原因放在一起。我在日志中包含了一个示例。在 Views 和 ActiveRecord 之间,时间只有 150ms,但整个响应却用了 1483ms。这比在不受监控的地方丢失的时间还多。
Started POST "/contacts" for 80.171.62.199 at 2012-05-14 09:51:33 +0000
Processing by ContactsController#create as HTML
Parameters: {"developer_api_key"=>"foo", "user_api_key"=>"bar", "contact"=>{"name"=>"Cors Test"}}
HTTP Logger Request ID: 4fb0d5a583098e0014000002
Completed 201 Created in 1483ms (Views: 133.2ms | ActiveRecord: 24.0ms)
我正在使用 New Relic RPM 来监控应用程序性能,它只向我显示:
ContactsController#index: 426ms
. 仍然有很多时间和代码下落不明。
对我来说,找出代码将时间花在哪里的最佳方法是什么?我应该投资扩展 New Relic RPM 还是使用 ruby-prof 之类的东西?