4

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

4

2 に答える 2

1

これは生産中ですか?もしそうなら、ええ、New Relicに投資するか、彼らが通常持っている無料のアップグレード「もの」で試してみてください. 通常、1週間はかかると思います。彼らが今そのような取引をしているかどうかを確認してください.

また、before_filters、サードパーティ サービスへの API 呼び出し、いくつかの奇妙なイニシャライザがありますか。また、サーバーの再起動後に POST が呼び出されたのはこれが初めてですか?

おそらくどこか(おそらくローカル)またはサードパーティのサービスをチェックしているdeveloper_api_keyがあります。

多くの要因がありますが、それはほんの 1 秒です。ほとんどの標準アプリは、POST で問題ありません。それが POSTS と POSTS のみを受け取る New Relic クローンでない限り、つまり、それがあなたのパンとバターです。

また、APIキーにインデックスはありますか? 念のため。

于 2012-05-14T12:29:09.213 に答える
0

New Relic はこれに最適なツールです。

http://newrelic.com/

私はここで広告製品のファンではありませんが、私はそれを使用しており、本当に役に立ちます.

于 2012-05-14T13:25:15.780 に答える