CICSアプリケーションのパフォーマンス分析

CICSアプリケーションに関し、トランザクションの観点からパフォーマンス プロファイルを分析するか、リージョンの観点から分析するかは、パフォーマンス改善の目的によって異なります。

  • リージョンによって使用される資源を減らし、アプリケーションのスループットを向上させることが主な目的の場合には、以下の「CPUと応答時間」を参照してください。

  • 応答時間とサービス レベルを向上させることが主な目的の場合には、以下の「CICS Service Time(CICSサービス時間)レポートの分析」を参照してください。

CICS パフォーマンス プロファイルの妥当性を調べる方法は、バッチ ジョブ ステップのプロファイルの場合とは少々異なります。CICSは測定セッション データ(MSD)レポートで高い待ち時間を示すことがあります。ただし、この待ち時間はCICSが作業を待っていた時間、つまりトランザクションが処理を終えるのを待っていた時間であることがあります。この場合、この待ち時間は問題にはなりません。CICSが使用中の場合や関心のあるトランザクションが処理中の場合には、CICSリージョンを検証してください。

CICSサービス時間レポートの分析

CICSサービス時間レポートで、[CPU %]カラムまたは[平均サービス時間:合計]カラムの値が大きいトランザクションを探し、ターゲットとなるトランザクションを特定します。

あるトランザクションのCPU時間またはサービス時間の値が高く、測定時にその詳細レポートを要求していなかった場合には、そのトランザクションの詳細レポートを指定して測定をやり直します。Strobeでパフォーマンス レポートを作成する際に、それらのトランザクションだけが含まれるようにレポートをカスタマイズします。

詳細レポートを要求したトランザクションのエントリーを展開します。[中断]カラム、または[EXEC]カラムで示される時間が顕著なモジュールを選択します。そのモジュールを展開し、それが呼び出したコマンドを調べます。各コマンドに関し、どのCICS資源が中断時間を発生させたのか、そしてどのユーザー モジュールおよび非CICSサービス モジュールが実行時間を発生させたのかを調べます。下線の付いた資源タイプ、資源名、モジュールをクリックすると、パフォーマンス向上のヒントが表示されます。

モジュール名またはコマンド カラムに「非API」というエントリーがあり、そのサービス時間が大きい場合には、そのエントリーを展開して、非APIサービス時間を調べます。下線の付いた資源タイプ、資源名、モジュールをクリックすると、パフォーマンス向上のヒントが表示されます。ユーザー モジュールの実行時間が長い場合には、プログラムCPU使用レポートを検証します。言語ルーチンやMVSスーパーバイザー コールに関しては、CPU時間の属性レポートを検証して、これらのルーチンの呼び出し元を特定します。

CPUと応答時間

このあとの分析方法は、パフォーマンス向上の目的によって異なります。

  • トランザクション全体の向上や、あらゆるアプリケーションによって使用されるCICS資源を効率的に管理することが主な目的である場合には、CICSリージョン中断レポートを調べます。このレポートにはトランザクション中断時間を発生させたCICS資源が一覧表示されます。[中断時間:パーセント]カラムまたは[中断時間:平均]カラムの値が高い[中断カテゴリー クラス]のエントリーを展開し、そのクラス内にある、トランザクションの遅延の原因となった特定の資源の詳細を表示します。下線の付いた資源をクリックすると、待ち時間の削減について『IBM Problem Determination Guide』に基づく情報が表示されます。エントリー数が多いレポートを読みやすくするには、iStrobeメニューから[設定]を選択し、しきい値のオプションを使用してレポートの分析範囲を限定します。

  • リージョン内におけるCPU使用を減少させることが目的の場合には、プログラムCPU使用レポートを調べます。.SYSTEM(SVCなどのシステム ルーチン、サブシステム ルーチン、ライブラリー ルーチン)が大量のCPUを消費している場合には、CPU使用の分析のヒント(一般的な「アプリケーションのパフォーマンス分析」ページ)を参照してください。.USERが大量のCPUを消費している場合には、ソース コードの検証のヒント(一般的な「アプリケーションのパフォーマンス分析」ページ)を参照してください。