2016-10-26 4 views
1

Java用の(比較的)新しい組み込みパフォーマンスモニタ/プロファイラは、ミッションコントロールです。ツールチェーン[ミッションコントロール+フライトレコーダー]ローカルで実行するJavaアプリケーションからデータを収集し、分析するために開発者や管理者を可能Java Mission ControlとFlight RecorderはVisualVMと同じ機能を提供しますか?

:彼らは、パフォーマンスヒット(2%未満)を招くことなく、製造に使用することができることOracle docs advertiseまたは実稼働環境で展開されます。

私が原因それ被るパフォーマンスのオーバーヘッドがないことを推定されるその勧告に決して本番環境では、今多くの年のためjvisualvm(VisualVMの)使用しています。

私は質問します:MC/FRがパフォーマンスを損なわないようにするMission Control(およびFlight Recorder)とVisualVMの違いは何ですか?また、VisualVMが提供する特定の機能や機能は含まれていませんか?

答えて

1

メソッドプロファイリングの主なパフォーマンスの違いは、サンプリングを使用し、サンプリング間隔ごとに少数のスレッドしかサンプリングしないことです。それはAsyncGetCallTraceに同様のアプローチを使用します(例えばhttp://psy-lob-saw.blogspot.com/2016/06/the-pros-and-cons-of-agct.htmlを参照してください)

私はMC/JFRで作業しているので、私はVisualVMのサンプリングプロファイリングに慣れていませんが、同じ方法を使用していないと思います。

MC/JFRには、HotSpot JVMに深く統合されたデータ収集エンジンがあり、VisualVMは外部API/MXBeanを使用します。これは、JFRがパフォーマンスのオーバーヘッドを下げるのにも役立ちます。 一般に、JFRは、100%正確なデータを収集するのではなく、アプリケーションの処理速度を低下させ、実際の動作に影響する可能性があるホットスポットを見つけるように設計されています。これは、メソッドと割り当てのサンプリング、および特定のしきい値を超えるイベントのみが記録されるレイテンシイベント(待機/スリープ/ブロック)に関するその他の情報に適用されます。私はこれがVisualVMとどう比較されるのかよく知らない。

それ以外のツールには異なるフィーチャセットがありますが、どちらも他のスーパーセットではありません。

関連する問題