プロセス計測データを使用したキャッシュ・チューニング

Process Admin Console の「サーバー管理」領域で「モニタリング」>「計測」を選択することで、計測モニターにプロセス計測データを表示できます。 表示されたデータがキャッシュ設定に対してキャッシュ・ミス数が予想以上に多いことを示している場合は、100Custom.xml ファイルを編集して、問題のあるキャッシュ設定のデフォルト値をオーバーライドできる可能性があります。ただし、すべてのキャッシュを構成できるわけではありません。 永続オブジェクト (PO) ファクトリー・キャッシュ設定およびリポジトリー・キャッシュ設定は、計測モニターの「PO ファクトリー」セクションと「リポジトリー」セクションに反映されます。 場合によっては、キャッシュ設定のデフォルト値を新規の値でオーバーライドする必要があります。

Instrumentation(計装)モニタを使用してプロセス計装データを表示または記録する方法の詳細については、 を参照してください。

構成できないキャッシュ

計測の FIFO セクションにある以下のキャッシュは構成できません。
  • ContextAndTypeTreeElements
  • ContextTreeElements
  • 依存関係
  • ManagedAssets
  • ProjectDependency
  • SOAPConnector.XMLTypeDescriptors
  • UUIDListKey
  • バージョン詳細
  • VersionSummaryId
  • WebAPIUserID
  • XMLTypeDescriptorContextContextAndTypeTreeElements

PO ファクトリー・キャッシュ設定およびリポジトリー・キャッシュ設定

PO ファクトリー・キャッシュ設定の場合もリポジトリー・キャッシュ設定の場合も、キャッシュ・ヒット率が 90% であれば、十分に適切であると考えられます。 しかし、 キャッシュ・ミスが 50% を超える場合は調査が必要です。 キャッシュ・ミスに対するキャッシュ・ヒット率を向上させるために、100Custom.xml ファイルのキャッシュ設定に新しい値を指定できます。 新しい値は、通常は他の XML 構成ファイル (00Static.xml ファイルなど) にあるキャッシュ設定の既存のデフォルト値をオーバーライドします。 一般的にキャッシュ設定の変更は何度か繰り返すことが必要です。

注: メモリーは、指定されたキャッシュ・サイズに従って事前割り振りされません。 キャッシュは指定のサイズまで拡張可能です。 キャッシュ・サイズ行は、最後の読み取りキャッシュのサイズを表します。

計測モニターに反映される PO ファクトリー・キャッシュ設定およびリポジトリー・キャッシュ設定については、以下のセクションで説明します。

PO ファクトリー・キャッシュ設定

永続オブジェクト (PO) ファクトリーは、永続オブジェクトの作成に使用されるクラスです。 PO ファクトリーは永続オブジェクト・タイプごとに存在し、各 PO ファクトリーには、そのタイプの永続オブジェクトをキャッシュするためのキャッシュがあります。

Business Automation Workflowには、バージョン管理された PO ファクトリー設定とバージョン管理されていない PO ファクトリー設定の 2 つのタイプがあります。 バージョン管理された 永続オブジェクトの場合は、オブジェクトが変更されるごとに新しいオブジェクトが別個に保存され、以前のバージョンは上書きされません。 これにより、 時間の経過に伴う変化を確認することができます。 バージョン管理されていない 永続オブジェクトの場合は、最後の変更のみが保持され、以前のバージョンは破棄されます。

以下の表に、バージョン管理される永続オブジェクトと、バージョン管理されない永続オブジェクトをリストします。これらは、計測モニターの「PO ファクトリー」>「キャッシュ・ヒット」セクションおよび「PO ファクトリー」>「キャッシュ・ミス」セクションに表示されます。 この表には、対応する PO ファクトリー・キャッシュ設定もリストします。キャッシュ・ミスに対するキャッシュ・ヒット率を高めるためには、この設定をオーバーライドすることが必要になる可能性があります。 キャッシュ設定の有効化は、特に明記しない限りすべて XML 構成ファイルで行います。

表 1. PO ファクトリー・キャッシュ設定
計測モニターでの PO のタイプ 設定および説明 100Custom.xml ファイルで追加または更新する設定
の一つ:

アーティファクト
BPDArtifactReference
BPDパラメータ
BlueprintSubscription
BPDイベント
BPDパラメータ
コーチ
CoachResource
CoachView
コネクタ
貢献
ESアーティファクト
EnvironmentVariable

EnvironmentVariableSet
エプフ
EpvVar
EventSubscription
ExtendedProperty
ExtendedPropertySet
HistoricalScenario
InfoPathForm
レイアウト
ManagedAsset
メトリック
参加者
ProjectDefaults
ProjectDependency
RefPO
報告
ReportVariable
ResourceBundleGroup
サービスレベル保証
スコアボード
SimulationScenario
TimingInterval
TrackingGroup
UIテーマ
UserAttributeDefinition
WebService
default-versioned-po-cache-size
この設定は、バージョン管理された永続オブジェクト (PO) キャッシュのオブジェクト数を制御します。 デフォルト値は 5000です。
プロセス・アプリケーションおよび Coach の数が比較的少ない小規模な環境の場合は、 デフォルト値で十分な場合があります。 しかし、プロセス・アプリケーションや Coach の多いより複雑な環境の場合は、この値を増加させて、 プロセス・アプリケーションおよび Coach が初回使用後もキャッシュに保持されるようにすることができます。 このステップにより、 これらのプロセス・アプリケーションおよび Coach にアクセスするときの応答時間を改善できます。
PO ファクトリーのキャッシュ・ミス回数が多すぎることがプロセス計測データに示されている場合は、バージョン管理された PO キャッシュの値を増加させることができます。 特定のシナリオに最適な値を決定するまでに複数の値を繰り返し試すことが必要な場合があります。 値を変更したら、プロセス計測データを再確認して、必要に応じて値を調整してください。
この設定は該当する 00Static.xml ファイルにありますが、設定のデフォルト値を更新するには、設定を 100Custom.xml ファイルに追加する必要があります。
<common>
   <default-versioned-po-cache-size merge="replace">7000</default-versioned-po-cache-size>
</common>
の一つ:

BPMSnapshotStatus
CaseProperty
ECMオブジェクト
EnvironmentType
GovernanceAssignment
GovernanceEvent
MonitorProjectInterchange
PCIndexAction
PCインデクサー
PCR登録
優先度
ProjectSubscribed
ProjectSubscription
RepositoryLog
SharedToolKitUsage
スナップショット
TimePeriod
default-unversioned-po-cache-size
この設定は、バージョン管理されていない永続オブジェクト (PO) キャッシュのオブジェクト数を制御します。 デフォルト値は 1000です。
プロセス・アプリケーションおよび Coach の数が比較的少ない小規模な環境の場合は、 デフォルト値で十分な場合があります。 しかし、プロセス・アプリケーションや Coach の多いより複雑な環境の場合は、この値を増加させて、 プロセス・アプリケーションおよび Coach が初回使用後もキャッシュに保持されるようにすることができます。 このステップにより、 これらのプロセス・アプリケーションおよび Coach にアクセスするときの応答時間を改善できます。
PO ファクトリーのキャッシュ・ミス回数が多すぎることがプロセス計測データに示されている場合は、バージョン管理されていない PO キャッシュの値を増加させることができます。 特定のシナリオに最適な値を決定するまでに複数の値を繰り返し試すことが必要な場合があります。 値を変更したら、プロセス計測データを再確認して、必要に応じて値を調整してください。
この設定は該当する 00Static.xml ファイルにありますが、設定のデフォルト値を更新するには、設定を 100Custom.xml ファイルに追加する必要があります。
<common>
   <default-unversioned-po-cache-size merge="replace">2000</default-unversioned-po-cache-size>
</common>
の一つ:

プロジェクト
ContentObject
ContentObjectInstance
time-based-project-cache-enable
time-based-project-cache-enable 設定は、永続オブジェクト (PO) キャッシュが時間ベース・キャッシュであるかどうかを指定します。 この設定は、デフォルトで有効になっています。 有効期間は po-cache-expiration-interval によって制御されます。このデフォルト値は 20 秒です。
指定された有効期間を経過すると、キャッシュはリセットされます。 リセット後にキャッシュの読み取りが行われると、キャッシュの誤カウント (キャッシュ・サイズより大きくなる) が発生する場合があります。
default-unversioned-PO-cache-size
default-unversioned-PO-cache-size 設定は、バージョン管理されていない永続オブジェクト (PO) キャッシュ内のオブジェクトの数を制御します。 デフォルト値は1000です。
この設定は該当する 00Static.xml ファイルにありますが、設定のデフォルト値を更新するには、設定を 100Custom.xml ファイルに追加する必要があります。
<common>
   <time-based-project-cache-enable>true</time-based-project-cache-enable>
   <po-cache-expiration-interval>20000</po-cache-expiration-interval>
   <default-unversioned-po-cache-size merge="replace">2000</default-unversioned-po-cache-size>
</common>

リポジトリー・キャッシュ設定

以下の表に、計測モニターの「リポジトリー」セクションに反映されるリポジトリー・キャッシュ設定をリストします。 場合によっては、キャッシュ・ミスに対するキャッシュ・ヒット率を高めるために、キャッシュ設定値をオーバーライドすることが必要になる可能性があります。 キャッシュ設定の有効化は、特に明記しない限りすべて XML 構成ファイルで行います。

表 2. リポジトリー・キャッシュ設定
名前 設定および説明 100Custom.xml ファイルで追加または更新する設定

ブランチ・コンテキスト・キャッシュ

branch-context-max-cache-size

この設定は、 ブランチ・マネージャーのキャッシュに保持するブランチ・コンテキストの最大数を指定します。 このキャッシュはスナップショットの内容に関するメタデータをメモリーに保持し、 特定の操作のパフォーマンスを向上させるために使用されます。 デフォルト値は 64です。

この設定は該当する .00Static.xml ファイルにありますが、設定のデフォルト値を更新するには、設定を 100Custom.xml ファイルに追加する必要があります。

ご使用のプロセス・アプリケーションが特に大きく、 Business Automation Workflow サーバーにメモリーの問題がある場合は、特に、デプロイされたスナップショットごとに新しいブランチが作成されるランタイム・サーバーで、この設定の値を減らすことが必要な場合があります。 同様に、プロセス・サーバーのメモリーが制約されている環境では、 ブランチ・マネージャーのキャッシュ・サイズを低下させることで、 大規模なプロセス・アプリケーションのヒープ・メモリーを削減することができます。 ただし、 作成したプロセス・アプリケーションからツールキットへの依存関係が多い場合は、 この設定の値を増加させる必要がある場合があります。

1 つのビジネス・オブジェクトを持つツールキットがブランチ・キャッシュ項目およびスナップショット・キャッシュ用に使用するメモリーは 1 MB 未満です。 Process Portal アプリケーションは、約 11 MB のメモリーを使用します。 システム・データ・ツールキットは数百 MB のメモリーを使用します。 プロジェクト内の成果物と各プロジェクトの成果物の量との関係は複雑なため、メモリー使用量には差異があります。 したがって、使用される追加メモリーの量を、ブランチ・キャッシュの調整時に正確に予測することは困難です。

複数のプロセス・アプリケーションがデプロイされている Workflow Server 環境 でメモリーを犠牲にして速度の最適値を計算する 1 つの方法は、データベース内の表 LSW_BRANCH の行カウントを 1.1で乗算し、その結果を branch-context-max-cache-size 設定の値として使用することです。 この方法では、すべてのプロセス・アプリケーションが比較的頻繁に使用されていて、そのコンテキストをメモリー内に入れるものと想定されています。 単一のプロセス・アプリケーションがデプロイされている場合、最適値は、当該プロセス・アプリケーションの依存関係の数に 1 を加えたものになります。
注: 新しいプロセス・アプリケーションまたはスナップショットがデプロイされるか、 Workflow Server 環境から削除されるたびに、キャッシュ・サイズを調整することを検討する必要があります。
<server>
   <repository>
     <snapshot-cache-size-per-branch merge="replace">128</snapshot-cache-size-per-branch>
   </repository>
</server>

スナップショット・コンテキスト・キャッシュ

snapshot-cache-size-per-branch

この設定は、 Workflow Centerの単一ブランチに対してキャッシュされるスナップショットの数を指定します。 デフォルト値は64です。

Workflow Server 環境では、この設定は Workflow Serverでは無視されるため、デフォルト値を保持できます。 デプロイされた各スナップショットは、 Workflow Server上の固有のブランチにデプロイされます。これは、スナップショット・キャッシュに項目が 1 つしか含まれていないことを意味します。

スナップショット・キャッシュは、 ブランチ・キャッシュとは別々にチューニングします。 各ブランチ・キャッシュ項目にはスナップショット・キャッシュが含まれます。 Workflow Centerでは、ブランチ上のすべてのスナップショットが同じブランチ・キャッシュ・エントリーを使用します。そのため、スナップショット・キャッシュ内のエントリーの数が複数になる場合があります。 必要な項目の数は、 アクセスされたスナップショットの数によって異なります。 スナップショットへのアクセスは、スナップショットがアクティブ化されたとき、または Process Designer ユーザーが特定のスナップショット・バージョンで成果物の表示、成果物の再生、あるいはその両方を行ったときに行われます。 したがって、スナップショット・キャッシュ・サイズの調整が必要なのは、 Workflow Center サーバーの場合のみです。 スナップショット・キャッシュをチューニングする必要があるかどうかは、 予想される使用パターンによって判断します。

スナップショット・キャッシュ項目の数はアプリケーション・コンテンツによって異なるため、 スナップショット・キャッシュ項目が非常に大規模になる場合があります。 スナップショット・キャッシュ項目が数百 MB に達することも少なくありません。 サイズは、 対象スナップショットでの成果物の複雑さとボリュームによって異なります。

非常に大規模なプロジェクトおよびプロセス・アプリケーションの場合、snapshot-cache-size-per-branch 設定の値を小さくすると、ヒープ・メモリー所要量を減らすことができます (ただし、それに応じてデータベースの使用頻度が高くなるためにパフォーマンスが低下します)。

この設定は該当する 00Static.xml ファイルにありますが、設定のデフォルト値を更新するには、設定を 100Custom.xml ファイルに追加する必要があります。

<server>
   <repository>
     <snapshot-cache-size-per-branch merge="replace">128</snapshot-cache-size-per-branch>
   </repository>
</server>