消費時間モニター・エレメントの階層

多くの消費時間モニター・エレメントの情報は、 より包括的なモニター・エレメントにロールアップされます。

例えば、表キューから次のバッファーの情報を受け取るための待機に費やした時間を表すエレメント (fcm_tq_recv_wait_time) や、FCM 応答メッセージの待機に費やした時間を表すエレメント (fcm_message_recv_wait_time) などの個々の待機時間エレメントは、両方とも包括的な fcm_recv_wait_time エレメントの中に含まれます。 消費時間モニター・エレメントの階層は、ユーザーの必要を満たす最も適切な詳細度レベルでエレメントを選択できるように編成されています。

消費時間モニター・エレメントを表示するためのディメンションとパースペクティブ

さまざまな方法で、消費時間モニター・エレメントの階層を表示することができます。 1 つの方法として、全体的なシステムの視点から調べることができます。さらに、システム内の特定のアクティビティーのコンテキストで調べることもできます。

システム・レベルのビュー (またはシステム・ディメンション) に含まれるエレメントは、システムの全体的な動作を確認するのに役立ちます。 また、システム・ディメンション内のエレメントを使って、特定のワークロードの消費時間情報を確認することもできます。

アクティビティー・レベルのビューまたはアクティビティー・ディメンションに含まれるエレメントは、 SQL ステートメントの実行など、システム時間が費やされている特定のアクティビティーを確認するのに役立ちます。 アクティビティー・ディメンション内のすべてのモニター・エレメントは、上位のシステム・ディメンションに含まれています。

この 2 つの各ディメンションに含まれる以下のような 2 つの異なるパースペクティブ を使用すると、消費時間モニター・エレメントを調べることができます。
  • 待機時間と比較したコンポーネント処理時間
  • コンポーネント処理時間と比較したコンポーネント経過時間
最初のパースペクティブでは、待機時間エレメントの値はコンポーネント処理時間エレメントの値から独立しており、補完的です。 報告されたすべての待機時間の合計をすべてのコンポーネント処理時間の合計に加算すると、結果の値は、total_rqst_time モニター・エレメントによって報告される値に非常に近くなります。 この 2 つの値の間にわずかな差異が存在する場合、それはどのモニター・エレメントによっても追跡されていない他のコンポーネント処理時間が少しだけ存在するためです。

2 番目のパースペクティブでは、コンポーネント経過時間はコンポーネント処理時間のスーパーセットです。 例えば、コミットを実行するコンポーネントのようなデータベース論理コンポーネントの場合、total_commit_proc_time モニター・エレメントで報告されるコミットの合計処理時間は、total_commit_time モニター・エレメントで報告されるコミットの合計経過時間に含まれます。 この合計経過時間と合計処理時間の差異は、コンポーネント経過時間モニター・エレメントによって個別に追跡されることがない他の待機時間または処理時間の合計です。

待機時間と比較したコンポーネント経過時間を表示することには意味がありません。その理由は、システムのその部分の経過時間の一部として発生した待機時間は、コンポーネント経過時間の中に既に含まれるためです。 仮にコンポーネント経過時間と待機時間の両方から成る円グラフを作成した場合、さまざまな種類の待機時間を二重にカウントしていることになるため、システムで費やされた時間を正確に表すものではありません。

以下のセクションでは、消費時間モニター・エレメントの情報を確認できるさまざまなディメンション (システムおよびアクティビティー) および パースペクティブ (コンポーネント処理時間/待機時間、コンポーネント経過時間/コンポーネント処理時間) について説明します。

ヒント: 消費時間エレメントからのすべての情報が、すべてのインターフェースを介して報告されるわけではありません。 例えば、client_idle_wait_time モニター・エレメントは、MON_GET_SERVICE_SUBCLASS 表関数などのシステム・レベルのインターフェースにのみ当てはまります。 各モニター・エレメントを報告するインターフェースのリストについては、そのエレメントに関する参照トピックをご覧ください。

システム・ディメンション: 待機時間およびコンポーネント処理の消費時間のモニター・エレメント

待機時間およびコンポーネント処理の消費時間に関するモニター・エレメントの相互関係について、システム・ディメンションから見た場合の概要を以下のリストに示しています。

字下げで示されているモニター・エレメントの値は、そのエレメントの前にある、階層内のそれより 1 つ高いレベルのエレメントに含まれています。

1FCM に関連するこれらの待ち時間を複数のメンバーで集計した場合、意味のある情報は生成されません。 詳しくは、『FCM 通信の待ち時間』を参照してください。

2報告元が MON_GET_DATABASE インターフェースまたは MON_GET_DATABASE_DETAILS インターフェースの場合、pool_read_time には非同期読み取り時間が含まれ、pool_write_time には非同期書き込み時間が含まれます。

3これらの 処理時間エレメントは、このコンポーネントに特に関連していない、その他の処理時間と待機時間を含みます。 例えば、total_section_proc_time エレメントが報告する時間には、total_section_proc_sort_time エレメントが報告する時間が含まれます。 total_section_sort_proc_time エレメントは、表スキャン、索引スキャン、結合などのアクティビティーの実行に費やした時間を 報告します。

4 これらのモニター・エレメントは、現在モニターされていない、その他の種類の消費時間 (処理時間と待機時間) を少数含みます。

システム・ディメンション: コンポーネント消費時間モニター・エレメント

以下のリストは、さまざまなコンポーネント領域で消費された時間に関するモニター・エレメントを詳しく示しています。 各コンポーネント時間は、次のような 2 つの異なるモニター・エレメントで表されます。
  • 1 つのコンポーネントまたは処理段階での処理時間の合計を報告するモニター・エレメント。
  • そのコンポーネントで費やされた経過時間の合計を報告するモニター・エレメント。 この合計時間には、コンポーネントの処理時間に加えて、関連するその他の処理時間または待機時間が含まれます (存在する場合)。

字下げで示されているモニター・エレメントの値は、そのエレメントの前にある、階層内のそれより 1 つ高いレベルのエレメントに含まれています。

1この モニター・エレメントには、1 つ以上の種類の待機時間を含みます。

2これらのモニター・エレメントには、現在モニターされていない、少数の各種タイプの消費時間 (処理時間および待機時間) が含まれます。

アクティビティー・ディメンション : 待機時間およびコンポーネント処理の消費時間のモニター・エレメント

以下のリストは、コンポーネント処理の消費時間と比べた待機時間という観点から、アクティビティーに関して確認できるモニター・エレメントを示しています。

字下げで示されているモニター・エレメントの値は、そのエレメントの前にある、階層内のそれより 1 つ高いレベルのエレメントに含まれています。

1このモニター・エレメントに、 ステートメントによって実行されたネスト (子) アクティビティーにより発生した待機時間は含まれません。

2FCM に関連するこれらの待ち時間を複数のメンバーで集計した場合、意味のある情報は生成されません。 詳しくは、『FCM 通信の待ち時間』を参照してください。

3このコンポーネントに特に関連していない、その他の処理時間を含みます。

4現在モニターされていない、少数のその他の種類の消費時間 (処理時間と待機時間) を含みます。 また、この時間には子アクティビティーによって発生した処理時間と待機時間も含まれます。

アクティビティー・ディメンション : コンポーネント経過時間およびコンポーネント処理時間

以下のリストは、コンポーネント処理時間を含むコンポーネント経過時間という観点から、アクティビティーに関して確認できるモニター・エレメントを示しています。

字下げで示されているモニター・エレメントの値は、そのエレメントの前にある、階層内のそれより 1 つ高いレベルのエレメントに含まれています。

1この モニター・エレメントには、1 つ以上の種類の待機時間を含みます。

2これらの処理時間エレメントは、 このコンポーネントに特に関連していない、その他の処理時間と待機時間を含みます。