6

DTraceに興味をそそられることに気づきましたが、 DTraceを使用しないと他の方法では取得できない情報を取得できるユースケースを個人的に見ることができませんでした。

ですから、私が見落としていたものを聞きたいと思います。スタンドアロンアプリケーションとJavaEEWebアプリケーション(ほとんどがソケットを使用してレガシーバックエンドと大量に通信する)を作成するときに違いを生む可能性のあるDTraceを使用したvmware OpenIndianaビルド148で何ができますか?

重要なDtraceスクリプトは大歓迎です。

4

1 に答える 1

6

私はDTraceでいくつかの良い経験をしました。

24時間年中無休で稼働している本番サーバーでJavaコードを実行しているクライアントがいました。アプリケーションでいくつかのパフォーマンスの問題が発生しました。プロファイラーを接続するためにJVMを停止することはできませんでした。さらに、同じ負荷の下での動作はラボには存在しませんでした。

実行中のJVMに接続でき、導入されるオーバーヘッドが最小限であったため、JVM関連のプローブでDTraceを使用して問題を解決しました(Netra T2000 SPARCマシンで1.3%)。

この方法の利点は、すべてのデバッグが顧客のラボへのダイヤルアップ(33kbps)回線を介して行われたことです。この制約で他のプロファイラー/デバッガーを実行することはほとんど不可能です(JDWPはこの帯域幅に対して非常に冗長です)。DTraceスクリプトを使用して、自分にとって興味深いものだけをフィルタリングしました。

ヒントについては、http: //java.dzone.com/articles/java-profiling-dtrace?utm_source = feedburner&utm_medium = feed&utm_campaign = Feed :+ javalobby / frontpage +(Javalobby + / + Java + Zone )を参照してください。

http://download.oracle.com/javase/6/docs/technotes/guides/vm/dtrace.html

私はそれらのスクリプトを適応させました http://blogs.oracle.com/ahl/date/20050418#dtracing_java

もう1つの大きな利点は、カスタム統計を作成するために簡単に使用できる集計値です。

ただし、適切な条件があれば、他のツールを使用してすべてを簡単に行うことができます。DTraceは非常に強力ですが、より多くのベアメタル条件を対象としています(おそらくDLightプロジェクトが役立つでしょう)。

于 2011-03-08T19:26:37.987 に答える