2011-01-27 29 views
5

私はレールで性能を監視/テストするためのツールを探していますが、特に効果的なものは何も見つかりません。私はレールのパフォーマンスガイドを読んだことがありますが、私はRakeの代わりにRSpecを使用しています。Test:私はrake:testフレームワークを特に熱心に使っていません。パフォーマンスベンチマークのためのRailsの宝石/ツール?

だから、レイク以外のレールでパフォーマンステストをするにはどうすればよいですか?テストベンチマーク担当者ですか?任意の提案が評価されました

答えて

10

パフォーマンスベンチマークは、あなたが誰に依頼するかによって異なる意見を得るでしょう。私が何度も何度も聞いているのは、早い段階でパフォーマンスに執着するべきではないということです。あなたのアプリケーションのどこにいるのか分かりませんが、これは何かを考慮する可能性があります。むしろ大規模なアプリケーションを開発した後、私は正直言って私がそれらに同意すると言うことができます。後でパフォーマンスチューニングを開発して待機するときは、優れた方法を使用する方がよいでしょう。ベストプラクティスには、データベース列の索引付けなどがあります。

ライブレールアプリケーションのパフォーマンス監視のために、New Relicは、そこからの最良のツールの1つです。無料のプランは30分の履歴データしか提供しないため、少し制限がありますが、収集する情報は貴重です。 HerokuやEngine Yardのようなクラウドホストの一部は、1週間のデータを格納する無料のブロンズプランのアップグレードを提供しています。アプリケーションに関する情報を入手したら、どこに時間を集中させるべきかについて教育的な決定をすることができます。

は*私の意見

+0

*うなずく*ソリッドアドバイス、歓声を:私はこれらのrailscastsは偉大な出発点であることがわかってきました。 – PlankTon

1

あなたのアプリをいくつかのパフォーマンステスト、デフォルトのTestUnitベースのパフォーマンス・ベンチマーク・テストは素晴らしいスタートですが必要です。ただし、ここで停止しないでください。アプリケーションの性質に基づいてさまざまなツールを使用することを検討する必要があります。

たとえば、request-log-analyzerのようなツールを使用してプロダクションログを分析することは、実際のパフォーマンスのボトルネックを識別するのに最適です。 Bulletは、データベース環境でのパフォーマンスの非効率性を識別するための開発環境で実行できるもう1つの優れたツールです。低レベルのベンチマークでは、モデル、コントローラー、ビューでレールにもbenchmark helper methodsが表示されます。これは、アプリケーションの特定の部分を調整することに集中している場合に便利です。

rspecは、(現在までの)ベンチマークパフォーマンスに最適なツールではありません。私の意見では、it should_take_less_than 50のようなものをアサートしようとすると、パフォーマンステストの考え方が広がり、それをBDDのコンセプトに強制しようとしています。パフォーマンスは絶対的な期待は少なく、アプリの最も遅い部分を特定してより速くすることが重要です。

トピックには多くのオンラインリソースがあります。 (プロ、サブスクリプションが必要です)

関連する問題