45 votes

Quels outils recommandez-vous pour profiler les applications Rails?

J'ai cherché des outils de profilage pour Rails depuis un certain temps. Je suis actuellement en train de jouer et de tester ruby-prof et railsbench, mais je suis un peu frustré par la quantité de réglages et de manipulations nécessaires pour les faire fonctionner.

bien que je ne me dérange pas trop par les réglages, j'aimerais savoir s'il existe d'autres outils plus simples et faciles à utiliser pour profiler une application Rails? Quels outils recommandez-vous?

44voto

mwilliams Points 6748

Vous pouvez également utiliser le profilateur intégré :

$ 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

Notez que pour Rails 3, vous pouvez utiliser rails profiler.

20voto

Corbin March Points 18522

New Relic propose des profils Rails, y compris une version 'Lite' gratuite.

5voto

Sam Saffron Points 56236

Rack bug est assez cool http://github.com/brynary/rack-bug

4voto

Cristian Vat Points 956

http://rails-analyzer.rubyforge.org/ pourrait être ce que vous recherchez.

Je recommande vivement le Production Log Analyzer pour obtenir une liste claire des actions les plus consommatrices de temps, ainsi que le profileur d'actions.

ajouté : Pour le production log analyzer, vous n'avez besoin d'aucune configuration, il analyse simplement le journal de production et vous donne une liste des actions les plus consommatrices de temps, y compris le temps minimal/maximal/médian. Très utile pour voir où vous devriez profiler/optimiser davantage.

2voto

akuhn Points 12241

Si vous utilisez OSX Leopard, vous pouvez essayer DTrace.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X