DL/I要求別活動

DL/I要求別活動レポートには、IMS DL/Iサービスの要求を開始したトランザクション、モジュール、セクション、PSB(プログラム仕様ブロック)のCPU使用時間と待ち時間が示されます。

レポート詳細

DL/I要求別活動レポートは、以下の3つのタブで定義されます。

  • DL/I活動

  • トランザクション

  • リージョン

フィルター フィールドに文字列を入力して、レポート画面に表示されるトランザクションを絞り込むことができます。iStrobeは、入力された条件に基づきプロファイルをフィルター処理します。

  • [DL/I活動] タブ、[トランザクション] タブ、または [リージョン] タブの画面で、[トランザクション フィルター] フィールドに文字列を入力します。

  • [トランザクション] タブまたは [リージョン] タブの画面で、[リージョン フィルター] フィールドに文字列を入力します。

フィルター機能は、フィルターの値を編集したり削除するまで、[フィルター]フィールドの値を維持します。

DL/I活動

DL/I要求別活動レポートには、トランザクション、モジュール、セクション、PSB内の各DL/I呼び出しとそのパラメーター リストの詳細情報が表示されます。DL/I活動の詳細は、測定に指定されたジョブまたはリージョンに関するものです。

  • トランザクション: 特定のモジュール、セクション、およびPSB内の活動に関連するIMSトランザクションです。

  • モジュール: CPU活動を示すDL/I要求を行ったトランザクションによって使用されたDL/Iアプリケーションの名前です。

  • セクション: CPU活動を示すDL/I要求を行ったモジュール内の制御セクションです。

メモ:モジュール名またはセクション名が8文字を超える場合、Strobeは8バイトの識別子であるトークンを生成します。トークンは、モジュール名またはセクション名の最初の4文字、ハイフン(-)、およびその名前の最後の3文字で構成されています。トークンとロングネームを照合するには、トークン-ロングネーム相互参照レポートを参照してください。

  • PSB: アクティブ モジュールが使用したプログラム仕様ブロックです。

  • DL/I実行回数: 実行回数です。

  • DL/I平均サービス時間(秒): 平均サービス時間です。

  • 単独CPU %: 並行するCPU実行または他の入出力活動がない場合の、トランザクション内のモジュールやDL/I要求で使用されたCPU時間のパーセンテージです。

  • 合計CPU %: トランザクション内のモジュールまたはDL/I要求で使用されたCPU時間が、測定対象のジョブ ステップで実行されたプログラムの全CPU使用時間に対するパーセンテージとして表示されます。

  • 待ち %: トランザクションのモジュールまたはDL/I要求で使用された待機時間が、測定対象のジョブ ステップで実行されたプログラムの全処理時間に対するパーセンテージとして示されます。

トランザクション名の隣の をクリックすると、以下の追加情報が表示されます。

  • 行番号: モジュールがインデックス付けされている場合に表示される、DL/I要求に関連するアプリケーション行番号です。それ以外の場合、このフィールドはブランクになります。

  • プロシージャー名前: モジュールがインデックス付けされている場合に表示される、DL/I要求に関連するプロシージャー名です。それ以外の場合、このフィールドはブランクになります。

  • 要求ロケーション: アプリケーション プログラムでのDL/I要求の位置が、16進表記で表示されます。

  • DL/I関数: 要求されているDL/I関数を識別します。詳細についてはここをクリックしてください。

  • SSA: セグメント検索引き数には以下の情報が表示されます。

    • セグメント検索引き数には、セグメント名が表示されます。このあとに、コマンド コード、フィールド名の仕様、関係演算子、および式の残りの部分を表す疑問符(?)がオプションで表示されます。

    • フィールド検索引き数には、キーまたは検索フィールド名が表示されます。このあとに、コマンド コード、フィールド名の仕様、関係演算子、および式の残りの部分を表す疑問符(?)がオプションで表示されます。

  • PCBタイプ: 現在のDL/I要求によって参照されたプログラム制御ブロックのタイプです。値は以下のとおりです。

    • I/O-IOPCB I/Oプログラム制御ブロック

    • DB-DBPCB データベース プログラム制御ブロック

    • ALT-代替プログラム制御ブロック

  • PCB 名前/ラベル: DL/I要求で参照されたプログラム連絡ブロックの名前またはラベルです。

  • 資源名前: DL/I要求の実行に使用されたIMS資源です。資源のタイプは、PCBタイプによって以下のように異なります。

    • データベースPCBの場合は、データベース記述子(DBD)の名前になります。

    • 入出力PCBの場合は、ブランクになります。

    • ALTERNATE PCBの場合は、変更可能な代替PCBではMODIFY、変更できない代替PCBでは固定の宛先名になります。

    • 実行回数: DL/Iコールの実行回数です。

    • 平均サービス時間(秒): トランザクションの平均サービス時間(秒)です。サービス時間は、トランザクションが領域内で処理されている時間または処理待ちをしている時間を表しています。

    • 単独CPU %: 並行するCPU実行または他の入出力活動がない場合の、トランザクション内のモジュールやDL/I要求で使用されたCPU時間のパーセンテージです。

    • 合計CPU %: トランザクション内のモジュールまたはDL/I要求で使用されたCPU時間が、測定対象のジョブ ステップで実行されたプログラムの全CPU使用時間に対するパーセンテージとして表示されます。

    • 待ち %: トランザクションのモジュールまたはDL/I要求で使用された待機時間が、測定対象のジョブ ステップで実行されたプログラムの全処理時間に対するパーセンテージとして示されます。

トランザクション

[トランザクション] タブには、測定されたIMS領域に一致するIMSサブシステムのDL/I呼び出しがトランザクションおよびリージョンごとに詳細に表示されます。レポートには、測定期間中にIMSサブシステムで発生したトランザクションごとのトランザクション数、モジュール名、PSB名、トランザクションのアベンド数、およびDL/I呼び出し活動が表示されます。CPU時間、経過時間、データベース入出力時間、ロック時間、およびzIIP時間に対し、最大、最小、および平均が提供されます。

  • トランザクション: 特定のモジュール、セクション、およびPSB内の活動に関連するIMSトランザクションです。

  • モジュール: CPU活動を示すDL/I要求を行ったトランザクションによって使用されたDL/Iアプリケーションの名前です。

  • PSB: アクティブ モジュールが使用したプログラム仕様ブロックです。

  • トランザクション アベンド: トランザクションのアベンド数です。

  • トランザクション カウント: トランザクションが実行された合計回数です。

  • 平均実行時間(秒): 合計トランザクション時間をzIIP時間で割った値を示します。

  • 平均DB IO時間(秒): 合計データベースIO時間をトランザクション数で割った値を示します。

  • 平均ロック時間(秒): 総データベース ロック時間をトランザクション数で割った値を示します。

  • 平均zIIP時間(秒): トランザクションのzIIP時間の合計をトランザクション数で割った値を示します。

トランザクション名の隣の をクリックすると、以下の追加情報が表示されます。

  • リージョン: IMSトランザクションを実行したIMSジョブまたはタスク名です。

  • トランザクション アベンド: トランザクションのアベンド数です。

  • トランザクション カウント: トランザクションが実行された合計回数です。

  • 平均実行時間(秒): 合計トランザクション時間をzIIP時間で割った値を示します。

  • 平均DB IO時間(秒): 合計データベースIO時間をトランザクション数で割った値を示します。

  • 平均ロック時間(秒): 総データベース ロック時間をトランザクション数で割った値を示します。

  • 平均zIIP時間(秒): トランザクションのzIIP時間の合計をトランザクション数で割った値を示します。

リージョン名の隣の をクリックすると、以下の追加情報が表示されます。

    • 実行時間(秒): 実行時間の最短期間と最長期間です(秒単位)。

    • DB IO時間(秒): DBIO時間の最短期間と最長期間です(秒単位)。

    • ロック時間(秒): ロック時間の最短期間と最長期間です(秒単位)。

    • zIIP時間(秒): zIIP時間の最短期間と最長期間です(秒単位)。

    • DB GU: データベースに対してGet Uniqueコールが発行された回数です。

    • DB GN: データベースに対してGet Next コールが発行された回数です。

    • DB GNP: データベースに対してGet Next within Parentコールが発行された回数です。

    • DB GHU: データベースに対してGet Hold Uniqueコールが発行された回数です。

    • DB GHN: データベースに対してGet Hold Nextコールが発行された回数です。

    • DB GHNP: データベースに対してGet Hold Next within Parent コールが発行された回数です。

    • DB ISRT: データベースに対してInsertコールが発行された回数です。

    • DB DLET: データベースに対してDeleteコールが発行された回数です。

    • DB REPL: データベースに対してReplaceコールが発行された回数です。

    • DL/I CHKP: チェックポイント コールが発行された回数です。

    • DL/I XRST: チェックポイント コールからの再始動が発行された回数です。

    • DL/I ROLB: ロールバック コールが発行された回数です。

    • DL/I ROLS: SETSへのロールバック コールが発行された回数です。

    • GU IOPCB: 入出力PCBに対してGet Uniqueコールが発行された回数です。

    • GN IOPCB: 入出力PCBに対してGet Nextコールが発行された回数です。

    • ISRT IOPCB: 入出力PCBに対してInsertコールが発行された回数です。

リージョン

[リージョン] タブには、測定期間中にトランザクションがあった測定対象IMSサブシステム内のすべてのリージョンについて、トランザクション数とリージョン別に並べられたトランザクション数およびトランザクション時間が詳細に示されます。

  • リージョン: IMSトランザクションを実行したIMSジョブまたはタスク名です。

  • トランザクション アベンド: トランザクションのアベンド数です。

  • トランザクション カウント: トランザクションが実行された合計回数です。

  • 平均実行時間(秒): 合計トランザクション時間をzIIP時間で割った値を示します。

  • 平均DB IO時間(秒): 合計データベースIO時間をトランザクション数で割った値を示します。

  • 平均ロック時間(秒): 総データベース ロック時間をトランザクション数で割った値を示します。

  • 平均zIIP時間(秒): トランザクションのzIIP時間の合計をトランザクション数で割った値を示します。

リージョン名の隣の をクリックすると、以下の追加情報が表示されます。

  • トランザクション: 特定のモジュール、セクション、およびPSB内の活動に関連するIMSトランザクションです。

  • モジュール: CPU活動を示すDL/I要求を行ったトランザクションによって使用されたDL/Iアプリケーションの名前です。

  • PSB: アクティブ モジュールが使用したプログラム仕様ブロックです。

  • トランザクション アベンド: トランザクションのアベンド数です。

  • トランザクション カウント: トランザクションが実行された合計回数です。

  • 平均実行時間(秒): 合計トランザクション時間をzIIP時間で割った値を示します。

  • 平均DB IO時間(秒): 合計データベースIO時間をトランザクション数で割った値を示します。

  • 平均ロック時間(秒): 総データベース ロック時間をトランザクション数で割った値を示します。

  • 平均zIIP時間(秒): トランザクションのzIIP時間の合計をトランザクション数で割った値を示します。

トランザクション名の隣の をクリックすると、以下の追加情報が表示されます。

    • 実行時間(秒): 実行時間の最短期間と最長期間です(秒単位)。

    • DB IO時間(秒): DBIO時間の最短期間と最長期間です(秒単位)。

    • ロック時間(秒): ロック時間の最短期間と最長期間です(秒単位)。

    • zIIP時間(秒): zIIP時間の最短期間と最長期間です(秒単位)。

    • DB GU: データベースに対してGet Uniqueコールが発行された回数です。

    • DB GN: データベースに対してGet Next コールが発行された回数です。

    • DB GNP: データベースに対してGet Next within Parentコールが発行された回数です。

    • DB GHU: データベースに対してGet Hold Uniqueコールが発行された回数です。

    • DB GHN: データベースに対してGet Hold Nextコールが発行された回数です。

    • DB GHNP: データベースに対してGet Hold Next within Parent コールが発行された回数です。

    • DB ISRT: データベースに対してInsertコールが発行された回数です。

    • DB DLET: データベースに対してDeleteコールが発行された回数です。

    • DB REPL: データベースに対してReplaceコールが発行された回数です。

    • DL/I CHKP: チェックポイント コールが発行された回数です。

    • DL/I XRST: チェックポイント コールからの再始動が発行された回数です。

    • DL/I ROLB: ロールバック コールが発行された回数です。

    • DL/I ROLS: SETSへのロールバック コールが発行された回数です。

    • GU IOPCB: 入出力PCBに対してGet Uniqueコールが発行された回数です。

    • GN IOPCB: 入出力PCBに対してGet Nextコールが発行された回数です。

    • ISRT IOPCB: 入出力PCBに対してInsertコールが発行された回数です。

分析のヒント

以下の点を考慮しながら、セグメント検索引き数カラムの値を検証します。

  • アプリケーションがデータベースの設計を適切に使用しているかどうか(たとえば、検索フィールドの代わりに既存の2次索引フィールドを有効に利用しているかどうか)

  • コマンド コードがデータベースの設計で提供されたポインターを有効に利用しているかどうか

  • 関係演算子が適切であるかどうか(たとえば、資源消費の少ない構文の代わりにNOT EQUALを使用すると、データベースで広範囲な検索が行われます)

  • IMS領域に、IMSサブシステム内の他のリージョンのトランザクションに比例しないトランザクション時間が表示される場合、そのリージョンに対するStrobe測定が相違の原因を判別するのに役立つことがあります。