パフォーマンスの潜在的ボトルネックを見つけるには、次の Sun Microsystems ツールと第三者ツールが使用できます。
これらのツールは、使用中の配備でカスタム Java クラスを使用する場合に有用です。
Identity Manager には、使用中の配備のパフォーマンス問題をトラブルシューティングするのに役立つ Profiler ユーティリティーが搭載されています。
カスタマイズしたフォーム、Java、ルール、ワークフロー、および XPRESS がパフォーマンス問題とスケール問題の原因になることがあります。この Profiler は各領域での経過時間を調べるので、フォーム、Java、ルール、ワークフロー、XPRESS オブジェクトのうちどれがパフォーマンス問題とスケール問題の一因となっているか、一因となっている場合は、そのオブジェクトのどの部分が問題の原因になっているかがわかります。
Profiler の詳細は、『Sun Identity Manager 8.1 リリースノート』の「Identity Manager プロファイラの操作」を参照してください。
DTrace 機能は、Solaris 10 オペレーティングシステム用に動的にトレースするフレームワークで、JVM 動作を監視できるようになります。
DTrace には、30,000 を超える検証機能が搭載されており、統合されたユーザーレベルとカーネルレベルのトレース機能を使用して、プロダクションシステム内を把握できるようにします。また、C 言語や awk 言語に似た D 言語で、任意のデータと式をトレースすることもできます。この DTrace 機能にも、JVM を監視するための特殊なサポートが備わっているので、使用中のシステム全体と JVM 外部のスパンが監視できるようになります。
DTrace は、検証機能が JVM に内蔵されているので Java 6 で一番使用しやすくなっています。この機能は、Java 1.4 と Java 5 でも動作しますが、次の URL から JVM PI または JVM TI エージェントをダウンロードする必要があります。
https://solaris10-dtrace-vm-agents.dev.java.net/
次の例は、DTrace スクリプトの記述方法を示したものです。
#!/usr/sbin/dtrace -Zs #pragma D option quiet hotspot$1::: { printf("%s\n", probename); } |
この例では、$1 をスクリプトの最初の引数に置き換えてください。これは、管理対象となる Java プロセスの PID としてください。たとえば、次のようにします。
# ./all-jvm-probes.d 1234
次の表は、各種 DTrace の検証機能を有効にできるコマンドを説明したものです。
表 4–3 DTrace コマンド
DTrace はシステム処理を増やすため、この機能はシステムパフォーマンスに影響します。この影響はごくわずかですが、負荷のかかる有効化で大量の検証機能を有効にすると大きくなります。
DTrace のパフォーマンスへの影響を最小限に抑える手順については、『Solaris Dynamic Tracing Guide』の「Performance Considerations」の章に記載されています。
DTrace の詳細は、/usr/demo/dtrace および man dtrace を参照してください。
Identity Manager を使用すると、Java Management Extensions (JMXTM) を使用して、所定のリソースアダプタの操作における操作上の統計を取り込み表示することができます。このデータは、システム状態とレポートを監視するなど、診断と予測に使用できます。
この統計データには、次の情報が含まれています。
動作が実行された回数
操作の最小期間、最大期間、平均期間
オブジェクト |
監視対象となった動作 |
---|---|
アカウントの場合 |
|
動作の場合 |
Run |
その他オブジェクトの場合 |
|
JMX は、サーバー別のリソースアダプタごとに MBeans を作成して、これらの Beans を次のパターンに一致する名前で登録します。
serverName=server name, resourceAdapterType=Resource Adapter Type, resourceAdapterName=Resource Adapter Name |
Identity Manager は、正常に完了したかエラーで完了したか、完了した処理のすべてに統計を記録します。ただし Identity Manager は、例外を投げる処理など未完成の処理の統計は記録しません。
excludes の設定方法は、次のとおりです。
管理者インタフェースから、「設定」->「サーバー」の順に選択します。
「サーバーの設定」ページで、次のいずれかのタスクを実行します。
サーバーのデフォルト設定を編集するには、「サーバーのデフォルト設定の編集」ボタンをクリックします。
サーバーのポリシーを編集するには、そのサーバーのリンクをクリックします。
リソース監視を有効にするには、「JMX」タブをクリックして「JMX リソースアダプタモニターの有効化」ボックスを有効にします。
特定のリソースを除外するには、「JJMX リソースアダプタモニターの対象外」リストに正規表現を追加します。
特定動作の監視を除外するには、「JMX リソースアダプタモニター操作の対象外」リストに正規表現を追加します。
どの excludes も、正規表現を使用します。特定リソースを除外した場合、JMX はリソース名だけで照合します。たとえば次の名前のアダプタがある場合は、
resource1 resource2 resource3 resource10 resource11 |
次のパターンを指定します。
.*1$ |
つまり、何かが 1 (1$) で終わるまで、0 以上の任意の文字 (.*) にマッチします。JMX は、resource1 と resource11 を除外します。
処理の場合も、手順は同様です。処理に次の名前が付いている場合は、パターンがこの名前に一致する必要があります。
ACCOUNT_CREATE ACCOUNT_UPDATE ACCOUNT_DELETE ACCOUNT_GET ACCOUNT_AUTHENTICATE OBJECT_CREATE OBJECT_UPDATE OBJECT_DELETE OBJECT_GET OBJECT_LIST ACTION_RUN |
たとえば、^ACCOUNT.* パターンは ACCOUNT で始まるすべての処理を除外します。または、このパターンを使用すると updates と deletes が除外されます。
.*UPDATE$ .*DELETE$ |
JMX の設定方法と使用法の詳細は、『『Sun Identity Manager 8.1 ビジネス管理者ガイド』』の「JMX 監視の設定」 および 『Sun Identity Manager 8.1 ビジネス管理者ガイド』の「JMX パブリッシャータイプ」を参照してください。
Java Monitoring and Management Console (JConsole) は、Java Management Extension (JMX) テクノロジ対応のグラフィカル管理ツールで、JDK 5 以降に同梱されています。JConsole は実行中の JVM に接続し、接続している JMX エージェントの JVM MBeans から情報を収集します。
具体的に JConsole で実行できるタスクは、次のとおりです。
低位アドレスメモリーとデッドロックの検出
JConsole は、メモリーシステム、メモリープール、および MBeans ガベージコレクタにアクセスして、メモリー消費量、メモリープール、ガベージコレクション統計などのメモリー使用量に関する情報を表示します。
ガベージコレクションの有効化または無効化
冗長トレースの有効化または無効化
ローカルおよびリモートアプリケーションの監視
現在のヒープメモリー使用量、ヒープ以外のメモリー使用量、ファイナライズに保留されているオブジェクト数など、MBeans の監視と管理を行います。
パフォーマンス、リソース消費量、およびサーバー統計に関する情報を表示
JVM と監視した値、アプリケーションで実行中のスレッド、および読み込まれたクラスに関する概要を表示
オペレーティングシステムリソース (Sun のプラットフォーム拡張) に関する情報を表示。次のようなものがあります。
CPU プロセス時間
利用可能な物理メモリーの総容量と空き容量
確定した仮想メモリー量 (プロセスの実行に確実に利用できる仮想メモリー量)
利用可能なスワップ領域の総容量と空き容量
オープンファイルの記述数 (UNIX® のみ)
JConsole を使用した Java プラットフォーム上のアプリケーション監視の詳細は、「JConsole を使用したアプリケーション監視」という Sun Developer Network (SDN) 記事を参照してください。次の URL から入手できます。
http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
Identity Manager には、次の点に関する情報を提供する JMX MBeans がいくつか搭載されています。
Identity Manager Server Cluster
データエクスポータ
スケジューラ
潜在的なパフォーマンスボトルネックを見つけるには、Java プラットフォーム用オープンソースのパフォーマンスプロファイラである Java Runtime Analysis Toolkit (JRat) を使用します。使用中の配備でカスタム Java クラスを使用する場合は特に使用します。JRat は、使用中のアプリケーションの実行を監視し、アプリケーションのパフォーマンスの測定を維持します。
たとえば、プロビジョニングにカスタムワークフローがある場合にこの JRat を使用すると、呼び出されているクラスを表示したり、デフォルトの Identity Manager プロビジョニングワークフローと比較したワークフローの実行に掛かる時間を表示できます。
JRat の詳細は、http://jrat.sourceforge.net を参照してください。