45

私はしばらくの間、Rails のプロファイリング ツールを探していました。私は現在、ruby-prof と railsbench をプレイしてテストしていますが、機能させるために必要な微調整とマングリングの量にちょっと不満を感じています。

微調整は (あまり) 気にしませんが、Rails アプリをプロファイリングするための、より単純で使いやすいツールが他にあるかどうか知りたいですか? おすすめのツールは?

4

7 に答える 7

44

組み込みのプロファイラーも使用できます。

$ ruby script/performance/profiler 'User.new' 5
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
189.25     1.76      1.76        1  1760.00  1760.00  Profiler__.start_profile
 43.01     2.16      0.40      115     3.48     3.91  ActiveRecord::ConnectionAdapters::Column#simplified_type
  8.60     2.24      0.08       15     5.33     8.67  Array#each
  7.53     2.31      0.07      115     0.61     5.39  ActiveRecord::ConnectionAdapters::Column#initialize
  6.45     2.37      0.06      115     0.52     0.52  ActiveRecord::ConnectionAdapters::Column#type_cast
  5.38     2.42      0.05      690     0.07     0.07  Regexp#===
  0.00     2.69      0.00       10     0.00     0.00  Process.times
  0.00     2.69      0.00       10     0.00     0.00  Benchmark.times

Rails 3 では、 を使用できることに注意してくださいrails profiler

于 2008-12-10T13:50:26.033 に答える
20

New Relicは、無料の「ライト」バージョンを含む Rails プロファイリングを提供します。

于 2008-12-08T20:39:43.040 に答える
5

ラックバグはかなりクールhttp://github.com/brynary/rack-bug

于 2009-12-23T13:08:22.627 に答える
4

http://rails-analyzer.rubyforge.org/が探しているものかもしれません。

最も時間のかかるアクションの明確なリストとアクション プロファイラーについては、Production log Analyzer を強くお勧めします。

追加: 運用ログ アナライザーの場合、構成は必要ありません。運用ログを解析するだけで、最小/最大/中央値など、最も時間のかかるアクションのリストが表示されます。さらにプロファイリング/最適化する必要がある場所を確認するのは非常に良いことです。

于 2008-12-08T19:19:57.163 に答える
3

チェックする価値のあるもう 1 つの機能は Mini Profiler です: https://github.com/SamSaffron/MiniProfiler/tree/master/Ruby

StackExchange で使用されています (ただし、このバージョンは Ruby に移植されています)。

これが Railscast です: http://railscasts.com/episodes/368-miniprofiler?view=asciicast

于 2012-11-04T22:35:28.137 に答える
2

OSX Leopard を使用している場合は、DTrace を試すことができます。

于 2008-12-09T05:05:53.567 に答える
0

また、FiveRuns のTuneUpもご覧ください。これは完全に無料で、プラグインとして Rails アプリケーションにインストールできます。サーバーにデータを送り返すことはできますが (ほとんどの場合、非常に無害な情報です)、一部の人にとっては気になるかもしれません (つまり、政府機関はそれについて非常に不満を持っているでしょう)。このツールが無料であることを考えると、このツールの素晴らしさに驚かれると思います。

もう 1 つの優れた機能は、他のユーザーがコメントできるように実行データを投稿して、長いクエリや悪いコードを診断できることです。

于 2008-12-09T05:00:00.677 に答える