ルール駆動型メンバーのキャッシュをトレースしてその結果を基に、Waveset.properties のキャッシュプロパティーをチューニングできます。
com.waveset.server.RuleDrivenMembersCache をレベル 1 でトレースする場合は、結果の情報に追加数、削除数、キャッシュヒット数などが記載されます。この情報を基にキャッシュサイズを評価して、Waveset.properties のキャッシュプロパティーをチューニングする必要があるかどうかを判断します。
ルール駆動型メンバーのキャッシュを制御するには、Waveset.properties の次のプロパティーを使用します。
サブジェクト単位でキャッシュされる最大オブジェクトリスト数を指定するには、ruledrivenmemberslistcache.size = 値を使用します。(デフォルトは 20 です。)
サブジェクト単位でキャッシュされる最大オブジェクト総数を指定するには、ruledrivenmemberslistcache.rowlimit = 値を使用します。(デフォルトは 100000 です。)
デフォルトでは Identity Manager が、指定の組織に関連付けられているユーザーメンバールールを評価し、ユーザーの動的リストがあるユーザーメンバーリストのキャッシュを作成します。ただし、所定サブジェクトの指定ユーザー組に動的メンバー組織があるユーザーメンバーリストのキャッシュも作成できます。このキャッシュのキーは、オブジェクト ID で連結されたオブジェクト型です。たとえば、User#ID#Configurator オブジェクト ID と連結された User オブジェクト型です。それぞれキーとなる値は、このオブジェクトが動的メンバーとなるオブジェクトグループのリストです。
評価対象のオブジェクトが動的メンバーかどうかを判定するには、リストキャッシュで使用されるものと同じ組織単位のユーザーメンバールールをキャッシュが評価します。そのオブジェクトが動的メンバーであれば、Identity Manager がそのオブジェクトをリストに追加してからリストをキャッシュします。Identity Manager は、キャッシュのヒット率が最高になるよう、空と非空の両方のリストをキャッシュします。
このキャッシュには、Waveset.properties の次のプロパティーを使用して、パフォーマンスに影響する必要メモリーを制御します。
サブジェクト単位でキャッシュされるメンバーオブジェクトグループリスト数を指定するには、ruledrivenmembersobjectcache.size = 値を使用します。デフォルト値は 100 です。
サブジェクト単位でキャッシュされる最大メンバーオブジェクトグループ総数を指定するには、ruledrivenmembersobjectcache.rowlimit = 値 を使用します。デフォルト値は 100000 です。