17 パーティション・ワーク・マネージャの構成
パーティション・ワーク・マネージャは、パーティション間にスレッド使用ポリシーを設定します。各パーティションのワーク・マネージャ・スレッド数の制限、および各パーティションのスレッド使用時間に基づいたスレッド使用割当ての管理を行うよう構成できます。相対的なスレッドの使用を規定する際に重要なことは、同じWebLogic Serverインスタンスを共有する様々なパーティション間で適切なサービスの質(QoS)および公平性を提供することです。それが実現できないと、1つのパーティションのアプリケーションによって他のパーティションのスレッド・リソースが不足して、適切に機能しなくなる可能性があります。
注意:
WebLogic Server Multitenantドメイン・パーティション、リソース・グループ、リソース・グループ・テンプレート、仮想ターゲットおよびリソース消費管理は、WebLogic Server 12.2.1.4.0で非推奨になり、次のリリースで削除されます。この章の内容は次のとおりです。
パーティション・ワーク・マネージャ: 概要
パーティション・ワーク・マネージャは、パーティション内でのリソース管理を提供します。
管理者は、ランタイム環境およびその共有方法を把握しています。パーティション・ワーク・マネージャをドメイン・レベルで構成し、それらを作成時にパーティションに割り当てます。これらの事前定義済パーティション・ワーク・マネージャによって、管理者はワーク・マネージャ構成を標準化できます(たとえば、ビジネスで重要なアプリケーションが含まれるすべてのパーティションが、ビジネスで重要なパーティション・ワーク・マネージャを参照できます)。
管理者は、特定のパーティション(場合によってはすべてのパーティション)用にパーティション・ワーク・マネージャをカスタマイズする必要がある場合もあります。このシナリオでは、パーティション・ワーク・マネージャをパーティション構成内に(埋め込んで)構成します。このユースケース用にパーティション・ワーク・マネージャ構成を事前定義する必要はありません。
複数のドメイン・パーティションで使用するためにドメインにパーティション・ワーク・マネージャを定義できます。または、特定のパーティションのみで使用するためにそのドメイン・パーティション自体にパーティション・ワーク・マネージャ属性を定義できます。パーティション・ワーク・マネージャが定義されていない場合は、パーティション・ワーク・マネージャ設定のデフォルト値が適用されます。
パーティション・ワーク・マネージャは複数のドメイン・パーティションに使用できます。ただし、ドメイン・パーティションは1つのパーティション・ワーク・マネージャにのみ関連付けることができます。
パーティション構成には次のいずれかを含めることができます。
-
ドメイン・レベルで構成されているパーティション・ワーク・マネージャを参照するための
<partition-work-manager-ref> -
パーティション構成内にパーティション・ワーク・マネージャ設定を埋め込むための
<partition-work-manager> -
パーティション・ワーク・マネージャ設定のデフォルト値を適用する場合は
<partition-work-mananger>と<partition-work-manager-ref>のどちらもなし
パーティション・ワーク・マネージャの構成: 主なステップ
パーティション・ワーク・マネージャは、パーティション内のワーク・マネージャによるスレッドの使用を制限する一連のポリシーを定義します。これらはドメインには適用されません。パーティション・ワーク・マネージャを構成するには、次の主なステップを実行します。
パーティション・ワーク・マネージャの定義: WLSTの例
これらのサンプル・スクリプトでは、WLSTを使用してパーティション・ワーク・マネージャを定義する方法を示します。
パーティション・ワーク・マネージャを定義するには、ドメイン・レベルのパーティション・ワーク・マネージャを構成してそれをパーティションに関連付けるか、ドメイン・パーティションでパーティション・ワーク・マネージャ属性を定義してそのパーティションのみで使用します。
ドメイン・レベルのパーティション・ワーク・マネージャの構成: WLSTの例
次の例では、ドメイン・レベルのパーティション・ワーク・マネージャ(myPartitionWorkManager)を作成して構成します。
# Creates a Partition Work Manager at the domain level
edit()
startEdit()
cd('/')
cmo.createPartitionWorkManager('myPartitionWorkManager')
activate()
# Configures the Partition Work Manager
startEdit()
cd('/PartitionWorkManagers/myPartitionWorkManager')
cmo.setSharedCapacityPercent(50)
cmo.setFairShare(50)
cmo.setMinThreadsConstraintCap(0)
cmo.setMaxThreadsConstraint(-1)
activate()
パーティションのパーティション・ワーク・マネージャへの関連付け: WLSTの例
パーティション・ワーク・マネージャは複数のドメイン・パーティションに使用できます。ただし、ドメイン・パーティションは1つのパーティション・ワーク・マネージャにのみ関連付けることができます。次の例では、ドメイン・レベルのパーティション・ワーク・マネージャ(myPartitionWorkManager)をパーティション(Partition-0)に関連付けます。
# Associate a domain-level Partition Work Manager with a partition.
edit()
startEdit()
cd('/Partitions/Partition-0')
cmo.destroyPartitionWorkManager(None)
cmo.setPartitionWorkManagerRef(getMBean('/PartitionWorkManagers/myPartitionWorkManager'))
activate()
パーティションでのパーティション・ワーク・マネージャ属性の定義: WLSTの例
次の例では、ドメイン・パーティション(Partition-1)でパーティション・ワーク・マネージャ属性を定義して、そのパーティションのみで使用されるようにします。
# Defines Partition Work Manager attributes within the partition
edit()
startEdit()
cd('/Partitions/Partition-1')
cmo.createPartitionWorkManager('Partition-1-PartitionWorkManager')
cd('/Partitions/Partition-1/PartitionWorkManager/Partition-1-PartitionWorkManager')
cmo.setSharedCapacityPercent(50)
cmo.setFairShare(50)
cmo.setMinThreadsConstraintCap(0)
cmo.setMaxThreadsConstraint(-1)
activate()
config.xmlファイル内のPartition-0およびPartition-1で定義されたパーティション・ワーク・マネージャ要素に注目してください。
<partition>
<name>Partition-0</name>
<resource-group>
<name>default</name>
</resource-group>
<default-target>VirtualTarget-0</default-target>
<available-target>VirtualTarget-0</available-target>
<realm>myrealm</realm>
<partition-id>318e0d69-a71a-4fa6-bd7e-3d64b85ec2ed</partition-id>
<system-file-system>
<root>C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain/partitions/Partition-0/system</root>
<create-on-demand>true</create-on-demand>
<preserved>true</preserved>
</system-file-system>
<partition-work-manager-ref>myPartitionWorkManager</partition-work-manager-ref>
</partition>
<partition>
<name>Partition-1</name>
<resource-group>
<name>default</name>
</resource-group>
<default-target>VirtualTarget-1</default-target>
<available-target>VirtualTarget-1</available-target>
<realm>myrealm</realm>
<partition-id>8b7f6bf7-5440-4edf-819f-3674c630e3f1</partition-id>
<system-file-system>
<root>C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain/partitions/Partition-1/system</root>
<create-on-demand>true</create-on-demand>
<preserved>true</preserved>
</system-file-system>
<partition-work-manager>
<name>Partition-1-PartitionWorkManager</name>
<shared-capacity-percent>50</shared-capacity-percent>
<fair-share>50</fair-share>
<min-threads-constraint-cap>0</min-threads-constraint-cap>
<max-threads-constraint>-1</max-threads-constraint>
</partition-work-manager>
</partition>
<partition-work-manager>
<name>myPartitionWorkManager</name>
<shared-capacity-percent>50</shared-capacity-percent>
<fair-share>50</fair-share>
<min-threads-constraint-cap>0</min-threads-constraint-cap>
<max-threads-constraint>-1</max-threads-constraint>
</partition-work-manager>
</domain>
パーティション・ワーク・マネージャの構成: 関連タスクおよびリンク
参照先の情報では、Oracle Enterprise Manager Fusion Middleware Control (FMWC)およびOracle WebLogic Server管理コンソールを使用してパーティション・ワーク・マネージャを構成するステップを示します。
-
『Fusion Middleware ControlによるOracle WebLogic Serverの管理』の「WebLogic Serverのパーティション・ワーク・マネージャ」
-
『Oracle WebLogic Server Administration Consoleオンライン・ヘルプ』のパーティション・ワーク・マネージャに関する項