アプリケーションでラグ タイムが発生している場所を特定したいと考えています。リクエストが宣伝されている時間よりもはるかに長くかかっている理由をまとめようとしています. ログからの例を含めました。ビューと ActiveRecord の間の時間はわずか 150 ミリ秒ですが、応答全体では 1483 ミリ秒かかります。これは、監視されていない場所で失われる 1 秒以上の時間です。
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 などを使用する必要がありますか?