トレースは、システムパフォーマンスに影響を及ぼします。最適なパフォーマンスが得られるようにするには、最小限のトレースレベルを指定するか、システムのデバッグ後にトレースを無効に設定してください。
ここでは、Identity Manager のデバッグページにアクセスする手順を説明するとともに、このページを使用して Identity Manager のパフォーマンス問題を突き止めデバッグする方法について説明します。
これについては、次のセクションを参照してください。
Identity Manager のデバッグページにアクセスして操作を実行するには、Debug、Security Administrator、または Waveset Administrator 機能が必要です。管理者とコンフィギュレータには、デフォルトでこの機能が割り当てられています。
デバッグ機能がない場合は、エラーメッセージが表示されます。
ブラウザを開き、管理者インタフェースにログインします。
次の URL を入力します。
http:// host:port /idm/debug
各表記の意味は次のとおりです。
host は、Identity Manager の実行先アプリケーションサーバーです。
port は、このサーバーが監視中の TCP ポート数です。
システム設定ページが表示されたら、開くデバッグページの .jsp ファイル名を入力します。
たとえば、次のようにします。
http:// host: port /idm/debug/pageName.jsp
デバッグユーティリティーの中には、システム設定ページからリンクされていないものもありますが、これらを使用すると、製品のパフォーマンスと使いやすさのデータを収集できるようになります。デバッグページの全体リストについては、コマンドウィンドウを開いて idm/debug ディレクトリの中身をリストします。
各種メソッドの呼び出しタイマー統計を収集して表示するには、制御タイミングページを使用します。この情報を基に、特定メソッドに対するボトルネックと呼び出された API を追跡できます。呼び出しタイマーの基準値をインポートまたはエクスポートするのにも、呼び出しタイミングページのこのオプションが使用できます。
呼び出しタイミングの統計は、トレースが有効に設定されている間にだけ収集されます。
トレースとタイミングを有効にするには、「制御タイミング」ページを開き、「タイミングとトレースの開始」をクリックします。
タイミングを終了するには、「タイミングとトレースの終了」をクリックするか「タイミングの終了」をクリックします。
ページが再表示され、統計が使用できるメソッドのリストとメソッドの集約呼び出しタイマー統計が「タイミングの表示」テーブルに入力されます (呼び出し側から中断されません)。
このテーブルには、次の情報が記載されています。
メソッド名 (呼び出すメソッドを表示するには、そのメソッド名をクリックします)
総使用時間
平均時間
最小時間
最大時間
総呼び出し数
総エラー数
このリストを消去するには、「タイミングの消去」をクリックします。
コンソールから呼び出しタイマーのデータを収集するには、callTimer コマンドを使用します。このコマンドは、アップグレード中や、アプリケーションサーバーで Identity Manager を実行していないなどの状況で、パフォーマンス問題をデバッグする際に有用です。
Identity Manager をインストールしたときに付属している Java クラスにトレースを有効にを設定するには、「トレース設定の編集」ページを使用します。
具体的には、このページから次のトレース設定を行えます。
トレースするには、メソッド、クラス、またはパッケージを選択して、取り込むトレースのレベルを指定します。
トレース情報をファイルまたは標準出力先に送信します。
格納対象となるトレースファイルの最大数と、各ファイルの最大サイズを指定します。
トレース出力ファイル内の日時の書式設定方法を指定します。
キャッシュ対象となるメソッドの最大数を指定します。
トレースファイルへのデータの書き込み方を指定します。
データが生成されるに従って、データがトレースファイルに書き込まれるか、データがキューに入れられてからファイルに書き込まれます。
データソースを使用しない場合は、「ホスト接続プール」ページから接続プール統計を表示することができます。これらの統計には、プールのバージョン、作成された接続数、アクティブ数、プール内の接続数、プールから処理されている要求数、および破棄された接続数が記載されます。
この「ホスト接続プール」ページは、ゲートウェイへの接続管理に使用された接続プールの概要を表示する際にも使用できます。この情報を使用して、低位アドレスメモリー状態を調べられます。
最近使用した XML パーサーをキャッシュから消去して低位アドレスメモリー状態を調べるには、「消去したキャッシュのリスト」ページを使用します。
メソッドレベルですばやくホットスポットを検出して評価するには、「メソッドタイミング」ページを使用します。
Identity Manager メソッドから収集され、「メソッドタイミング」ページに表示される情報は、次のとおりです。
メソッド名
メソッドが呼び出された回数
メソッドがエラー状態で終了した回数
メソッドによって消費された平均時間
各メソッドの呼び出しによって消費された最小時間と最大時間
「メソッドタイミング」ページには、次のリンクを記載したテーブルもあります。これらのリンクをクリックすると、詳細を表示できます。
「詳細」。呼び出しスタックの情報が表示されます。
「履歴」。最後の呼び出し時刻とともに、呼び出し期間のグラフが表示されます。
「履歴データ」。呼び出しが生成された時刻とその呼び出し期間とともに、最後の呼び出しのリストが表示されます。
Identity Manager は、デフォルトでスタック履歴を保持しません。スタック履歴を保持してその深さを制御するには、Waveset.properites を編集して MethodTimer キーを調べます。
「メソッドタイミング」ページにある「すべて消去」オプションは、全ての結果を消去します。このオプションは、デフォルトで有効になっています。
システムに影響を及ぼしかねない大きそうなオブジェクトを検出するには、この「オブジェクトサイズの概要」ページを使用します。
この「オブジェクトサイズの概要」ページには、リポジトリに格納されるオブジェクトのサイズが (文字単位) で表示されます。このオブジェクトは型別にリストされ、型別の総オブジェクト数とオブジェクトの組み合わせ総サイズ、平均サイズ、最大サイズ、および最小サイズが記載されます。
そのオブジェクト型のサイズの詳細は、「型」列のエントリをクリックします。たとえば、リポジトリ内の最大設定オブジェクトの ID、名、サイズを表示するには、「設定」をクリックします。
このサイズ情報は、「コンソール」コマンドラインからもアクセスできます。
コンソールを開きます。
コマンドプロンプトで、次を入力します。
showSizes [ type[limit ]]
アップグレードの場合、更新または再表示されるまで既存オブジェクトのサイズが 0 と記録されます。
システムで使用中のプロビジョニングスレッドの概要を表示するには、この「管理者とコンフィギュレータ用のプロビジョニングスレッド」を使用します。この概要は、Show_Threads.jsp で用意される情報のサブセットです。
単一のスレッドダンプを見ただけでは、判断できないことがあります。
低位アドレスメモリー状態の調査に役立つよう、次の項目について表示するには、この「システムキャッシュの概要」ページを使用します。
管理者に関連付けられているオブジェクトキャッシュ
システムオブジェクトのキャッシュ
ユーザーのログインセッション
XML パーサーのキャッシュ
利用可能な総メモリー数と空きメモリーを表示するには、この「システムメモリーの概要」ページを使用します。調整などのメモリーを消費する機能を使用している場合は、この情報を基にして JVM に十分なメモリーが割り当てられているかどうかが突き止められます。
また、ガベージコレクションの起動や、ヒープ使用量を調査するための JVM 内の未使用メモリーの消去にも、このページが役に立ちます。
この「システムプロパティー」ページには、ソフトウェアバージョン、パス、環境変数など、使用中の環境についての情報が記載されます。
(調整や Active Sync などの) 自動プロセスが実行中であることを確認できるように、実行中のプロセスを表示するには、この「システムスレッド」ページを使用します。
このページには、プロセス種類、プロセス名、そのプロパティー、プロセスがデーモンかどうか、およびプロセスがいまだに実行中かどうかについての情報が記載されます。
単一のスレッドダンプを見ただけでは、判断できないことがあります。
最近ログインしたユーザーのキャッシュ済みセッションをすべて消去し、低位アドレスメモリー状態を調べるには、この「消去されたセッションプール」ページを使用します。
Waveset.properties ファイルのプロパティーを表示して一時的に編集するには、この「Waveset プロパティー」ページを使用します。Waveset.properties ファイルの常駐先の特定サーバーには、サーバーを再起動して変更内容を反映していなくても、各種のプロパティー設定をテストできます。編集したプロパティー設定は、次回サーバーを再起動するまで、反映されたままになります。
テスト XML リソースアダプタをキャッシュから消去し、低位アドレスメモリー状態を調べるには、この「フラッシュして消去された XML リソースアダプタのキャッシュ」ページを使用します。