Performance Analyzer(PAL)
Performance Analyzer(PAL)は、Pega Platform™が取り込むすべてのパフォーマンス統計のビューを提供します。PALを使用すると、単一のリクエスターセッションを処理することで消費されるシステムリソースを把握できます。
PALは、Performanceランディングページ(Dev Studio > Configure > System > Performance)またはツールバーのパフォーマンスツールから利用できます。次の画像は、パフォーマンスツールからPALにアクセスする方法を示しています。
次の画像に示すように、PALを使用して、ユーザーWebポータルから直接Constellationアプリケーションをデバッグすることもできます。
アプリケーションパフォーマンスの測定
アプリケーションパフォーマンスを測定するための最初のステップでは、測定を行います。最初に「Reset Data」をクリックして、ツール内のデータをすべて消去します。システムでは継続的にパフォーマンスが監視されているため、データをリセットすると、以前に記録されたエントリーが結果から除外されます。
簡単な読み取り値を追加するには、「Add Reading」をクリックします。 読み取り値を追加する際のベストプラクティスは、その読み取り中に発生した事象を特定する時点を定義することです。たとえば、測定するプロセスに応じて、フローアクションやスクリーンレンダリングごとに1つの読み取り値を使用します。
「Save Data」をクリックすると、結果をExcelファイルとしてダウンロードできます。
次の問題に答えて、理解度をチェックしましょう。
サマリー表示
INITの行には、パフォーマンスツールで初めて読み取りを行ったときからの合計値が表示されます。それ以降の読み取りには、DELTAというラベルが付けられます。これは、前回の読み取りからの変化を示します。「TOTAL」読み取り値は、前回データがリセットされたときからのすべての統計値の総和です。
次の画像で「+」アイコンをクリックすると、PALのサマリー表示の詳細が表示されます。
パフォーマンスデータの分析
サマリー表示でINIT、DELTA、またはTOTALをクリックすると、PALはその読み取りタイプのパフォーマンスデータの詳細な内容を表示します。PALは、このデータを次の2つのカテゴリーに分類して、パフォーマンス問題の特定に役立てています。
- DX APIセッション:最新のWebインターフェイスと外部システム統合を処理するDX API呼び出しのデータ
- Studioインタラクション: ルールの編集や管理タスクなど、Dev Studio内のアクティビティからのデータ
次の図は、PALがパフォーマンススデータをDX APIセッションとStudioインタラクションに整理する方法を示しています。
個々のDX APIセッションまたはStudioインタラクションを選択すると、リソースの消費量、データベースのインタラクション、処理の詳細など、特定の指標を含む詳細なパフォーマンススナップショットがPALに表示されます。
次の画像で「+」アイコンをクリックすると、PALのスナップショット表示の詳細が表示されます。
次の2つの画像は、1回の読み取り値を表していますが、一番上のデルタでは、「RA Elapsed」の読み取り値が「6.42」です。すべての値の単位は秒です。 「RA Elapsed」は、ルールアッセンブリーにかかった時間を表します。このような結果によってパフォーマンス読み取り値に偏りが出る可能性があります。ルールアッセンブリー(初回使用アッセンブリー(FUA)とも呼ばれる)は費用がかかり、一度しか行われないからです。これは以下の結果からも明らかです。トータルの経過時間は11.34秒で、そのうち6.42秒がルールアッセンブリーに費やされました。この余分な6.42秒を除けば、合計時間は計測値の半分以下になると考えられます。また、FUAは、実行されたルールの合計、データベースからの読み取り値、各種I/Oカウントなど、他の読み取り値にも影響します。
FUAの影響のない結果を得るには、測定を行う前に一度プロセスをレビューし、すべてのルールアッセンブリーが完了していることを確認します。 前の例では、パフォーマンスの読み取り値への影響を示すため、プロセスのランスルーは発生していません。
- 「Elapsed」は、処理にかかるシステム時間(秒)で、この時間にはCPUの処理時間が含まれます。この時間は、一般的にCPU時間と同等かそれ以上になります。たとえば、「Elapsed time compiling rules」では、ルールに対して生成されたJavaコードをコンパイルするためにシステムが要した経過時間(システム時間)を測定します。
- 「CPU」は、現在のアクションに対するCPUの処理時間(秒)です。 たとえば、「CPU time compiling rules」では、ルールに対して生成されたJavaコードをコンパイルするためにシステムが要したCPU時間を測定します。
- 「Count」は、特定のアクションが発生した回数のカウントです。たとえば、「Activity Count」は、スレッドによって開始されたアクティビティの数を示しています。
ある状況では10分という結果が許容されるとしても、別の状況では100ミリ秒以上の結果は遅すぎるとみなされます。リードシステムアーキテクトおよびビジネスアーキテクトと協力して、プロセスの各ステップで許容される結果を判断してください。
次の問題に答えて、理解度をチェックしましょう。