どのプロファイラーが汎用プロファイリングとヒープ分析に適していますか?当社のアプリの90%は、実質的なデータベースと数値処理を備えたスタンドアロンのコマンドラインプログラムです。他の10%はwebapps/servletコンテナーアプリです(JSPはほとんどなく、スクリプトはありません!)。対象ユーザーは、5〜10年の業界経験を持つSrソフトウェアエンジニアです。 Sun JDK 5のサポートのみが必要です。
この質問を書いている時点で(2008-10-02)、JProfilerは5.1.4で、YourKitは7.5でした。 YourKit 8.0は間もなくリリースされるようです。
JProfiler 4とYourKit 7.5の両方を使用しましたが、YourKitが勝ちました。 YourProfileをインストールした状態で実稼働サーバーを実行できるので、JProfileよりもはるかに低侵襲です。
また、YourKitに付属の分析ツールは(私の意見では)より直感的であり、問題の根本原因を簡単に把握できるようにします。
Jdk> = 1.6_07を使用している場合は、バンドルされているjvisualvmも参照してください。
最近、JProfilerとYourkitの両方を使用したことがありますが、メモリ問題の分析にはyourkitの方がはるかに優れており、パフォーマンス分析にはjprofilerを強くお勧めします。 Yourkitのメモリ分析は、はるかに簡単で直感的なようです。 yourkitのパフォーマンス分析については、yourkitで解決しようとしたパフォーマンスの問題を解決できませんでした。 JProfilerは、メソッド呼び出しの正確な数と各メソッドで費やされた時間を使用して、パフォーマンス分析のためのより正確で簡潔な情報を表示します。私はあなたのキットでこれをまだ見つけていません。 yourkitが提供するサンプリング情報は、数千の呼び出しを測定しない限り正確ではないようです。
私はJProbe、OptimizeIt、およびYourKitをすべて広範囲に使用しましたが、これらはすべて有能なツールです。 3つのうち、私の一番のお気に入りはYourKitです。
JProbeの優れた機能の1つは、perfスナップショットから注釈付きソースに(カウントとタイミングで)移動できることです。私はそれが非常に役立つことがわかりました。
JXInsight以外のツールはいずれも、実際のデータベーストランザクション分析を実行しません。
http://www.jinspired.com/products/jxinsight/concurrency.htmlhttp://www.jinspired.com/products/jxinsight/olapvsoltp.html
JXInsightのプローブテクノロジーは、SPECjvm2008ベンチマークでnetbeansプロファイラーを20倍、yourkitを100倍実行することを考えると、実稼働でも実行できる唯一のテクノロジーです。
http://blog.jinspired.com/?p=272
私はJXInsightのアーキテクトなので、もちろん完全に偏見がありますが、同時に、私はおそらく最後の8を捧げて以来、このような主張をするためにJava業界で最も資格がある実稼働環境で最も要求の厳しいJava/J2EEアプリケーションのパフォーマンス分析の長年。
JXInsightは、臨時のアドホックプロファイリングセッションだけでなく、ソフトウェアパフォーマンスエンジニア向けに設計されていることを指摘しておく必要があります。ランタイムおよび600以上のテクノロジー拡張ライブラリを構成する4000以上のシステムプロパティがあるため、解決する複雑な問題がない限り、および/または開発、テスト、本番で同じツールを使用することが最優先事項である場合を除き、やりすぎになる可能性があります。
敬具、
ウィリアム
Java 7 Update 40、Oracleに含まれています) Javaミッションコントロール (元はJRockit JDKの一部)-yourkit /と競合できる非常に強力なパフォーマンスチューニングツールjprofiler。
見て、驚いてください。
私は両方を使用しましたが、私の投票は間違いなくJProfiler(現在のバージョン6)です。使いやすく、多くの便利な追加機能があるためです。以前のリリースでは、YourKitには大きなスナップショットでいくつかの利点がありましたが、これはなくなりました。
間違いなくYourKit ...わずか1gのヒープを使用して4ギグのヒープダンプを開くことができました。同じヒープ割り当てのJprofilerがクラッシュしました!
私はyourkitを使用しており、それはvery素敵なプロファイラーであり、これまでに使用した中で最高のJava(私は長年にわたってさまざまな他のとはいえ、jprofilerを使用したことはないので、直接比較することはできません。
JProfilerを長年使用しており、非常に満足しています。 IntelliJは、YourKitとJProfilerの間で推奨事項を切り替えるように思われるので、機能セットは似ていると思います。両方とも試用版があると思います。
Yourkitオーバーヘッドが低く、安定しており、プロファイル(1つのdllのみ)および強力なJVMに簡単にインストールできます。ヒープダンプの分析では、 Eclipse Memory Analyzer に近い唯一のプロファイラーです。
コマンドラインプログラムの迅速で汚いプロファイリングの場合、 [〜#〜] jip [〜#〜] は非常にうまく機能します。
YourKitは素晴らしいです。また、NetBeansに組み込まれているプロファイラーを確認することもできます。これは非常に便利です。
免責事項:代替回答。
他のほとんどの開発時間ツールとは異なり、生産監視/プロファイリング用のさまざまな製品があります。 http://www.jinspired.com/products/jxinsight/
JDBInsightのサーバーサイドに関するこの投稿: http://www.theserverside.com/news/thread.tss?thread_id=13488
免責事項:私はこの会社とは一切関係ありません。
YourKitを使用しました。 JProfilerを使用していません。以前にOptimizeItを使用したことがあります。 YourKitについて非常に良い意見があります。非常に安定しており、GUIと機能の一覧が優れています。私が気づいたユニークな機能の1つは、待機時間(I/O waiなど)を含むおよび含まないCPUプロファイリングです。
価格も非常にリーズナブルです(5ライセンスで約1100ドルだと思います)
JProfilerを使用していますが、全体的に問題ありません。ただし、「動的なインスツルメンテーション」機能は、小規模なメソッドには非常に偏っています。
間違いなくYourKit。最も直感的で安定しています!
TPTPプロファイラーを使用しています。これがEclipseに非常に簡単に統合できるという最高の機能ですが、悪い点はEclipseの実行が遅くなることです。
私はJProfiler(およびいくつかのJProbe)のみを使用しました。私が知る限り、YourKitの1つの制限は、JDK 1.4.2をサポートしていないように見えることです。これは多くの人にとっては問題ではありませんが、問題になる可能性があります。
yourkitの+1 --- Windowsの開発ボックスで7.0を使用
しばらくはJProfilerを使用しませんでしたが、その間に改善された可能性があるためコメントできません。
余談ですが、Netbeansプロファイラーを検討することもできます。しかし、私はあなたが言及した2つのどちらも使いませんでした。