Какие инструменты вы рекомендуете профилировать приложения Rails? - программирование
Подтвердить что ты не робот

Какие инструменты вы рекомендуете профилировать приложения Rails?

Я искал инструменты для профилирования Rails некоторое время. В настоящее время я играю и тестирую ruby-prof и railsbench, но я немного разочарован тем, что нужно настроить и настроить, чтобы потом работать.

Хотя я не против (тонкости) настройки, я хотел бы знать, есть ли другие, более простые и простые в использовании инструменты для профилирования приложения Rails? Какие инструменты вы рекомендуете?

4b9b3361

Ответ 2

Вы также можете использовать встроенный профайлер:

$ 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.

Ответ 4

http://rails-analyzer.rubyforge.org/ может быть тем, что вы ищете.

Я настоятельно рекомендую анализатор производственного журнала для получения четкого списка самых трудоемких действий, а также профайлера действий.

добавлено: для анализатора производственного журнала вам не нужна какая-либо конфигурация, он просто анализирует журнал производства и дает вам список самых трудоемких действий, включая мин/макс/медианное время. Очень приятно видеть, где вы должны профилировать/оптимизировать больше.

Ответ 6

Если вы находитесь под OSX Leopard, вы можете попробовать попробовать DTrace.

Ответ 7

Вы также должны взглянуть на FiveRuns TuneUp. Он полностью бесплатный, устанавливается как плагин в ваше приложение Rails. Имейте в виду, что он отправляет данные обратно на свой сервер (в основном очень безобидная информация), но это может беспокоить некоторых людей (а именно, правительственные агентства будут очень недовольны этим). Я думаю, вы будете удивлены тому, насколько хорошо инструмент рассматривает это бесплатно.

Еще одна приятная особенность в том, что вы можете публиковать данные своего запуска, чтобы другие могли комментировать и помогать вам диагностировать ваши длинные запросы или плохой код.