前のトピック: 一般次のトピック: [インターフェース]タブ


リソース

メモリ、CPU、帯域幅などのリソース用のリソース レベルを指定できます。 リソース レベルは Min、Max、および Default です。

Min と Max の値は、指定されたリソースで許可する最小値および最大値を指定します。 これは、たとえば、エンティティでメモリ用に min=1GB と max=4GB が指定されている場合、そのリソースで 1 GB 未満または 4 GB を超える値を指定することはできません。 実際のリソース量は開始時刻(アプリケーションまたはアプライアンスの開始時)で確定されます。 その時刻に実際の値がエンティティに対して計算され、指定されます。 その後、エンティティが停止されるまで、リソース量は変わりません。

明示的な値が指定されない場合、Default 値はエンティティ用に指定される実際のリソース値となります。 たとえば、メモリ リソースが min=1GB、max=4GB、default=2GB と定義されたアプライアンスがあり、明示的な値が指定されない場合、アプライアンスにはデフォルト値である 2 GB が指定されます。

実際の値を指定することもできます。 値を指定するには、インスタンスでのデフォルト値の明示的な変更や、上位レベルのエンティティからの推定など、複数の方法を使用できます。 実際の値は、AppLogic ADL 記述子で永続的に定義することも、アプリケーションまたはアプライアンスの起動時または再起動時に一時的に定義することもできます。

アプリケーション レベルでのリソースの設定

CA AppLogic® は、新しいエンティティ内のアプライアンス インスタンスの接続されたシステムをパッケージ化します。これをアプリケーションと呼びます。 アプリケーションは、ユーザ コードおよびデータをはじめ、それらの接続および設定と共にすべてのインスタンスが含まれた不透明なオブジェクトです。

アプリケーションには、含まれているすべてのアプライアンスのリソース範囲を集約する機能があります。 リソース用のアプリケーションの最小値は、すべてのインスタンスの最小値の合計です。また、リソース用のアプリケーションの最大値は、すべてのインスタンスの最大値の合計です。 当然ながら、リソース用のアプリケーションのデフォルト値はすべてのリソースのデフォルト値の合計です。

これにより、明示的な値がアプリケーション レベルで定義されない場合、値はアプライアンス レベルから継承または使用されます。

リソース用に明示的な値がアプリケーション レベルで定義される場合、それが制限値またはデフォルト値でも、その新しい値はすべての下位インスタンスまたは含まれているインスタンスを制限するために使用されます。 下位で値を計算するためのアルゴリズムは線形補間です。 簡単に言うと、インスタンス用の値は、継承されたレベルからアプリケーションの値が調整される量に基づき、比例して調整されます。

たとえば、2 つの下位インスタンス A および B がある単純なアプリケーションについて考えてみます。 A には mem.min=1G と mem.max=3G、B には mem.min=2G と mem.max=6G が指定されています。 アプリケーション用に継承された制限は、mem.min=3G (1+2=3)と mem.max=9G (3+6=9)となります。 アプリケーションのメモリ制限の下限を 4.5G (mem.min=4.5G)に設定すると、A の mem.min は 1.5G に、B の mem.min は 3G に調整されます。

この計算方法を以下に示します。


デフォルト値と最大値にも同じ計算が当てはまります。 通常、この動作について理解する必要はありません。 重要なことは、リソース値(制限またはデフォルト)はアプリケーション レベルで設定する点です。 対応するリソース値は、その範囲内ですべてのアプライアンスに対して比例して調整されます。

これを読む前は、クラス範囲とインスタンス範囲はあまり重要ではないとお考えになっていたかもしれません。 ところが、範囲を使用して各アプライアンス用に正しくリソースを割り当てることで、有用な結果が得られます。 ここでは、アプリケーション リソースをスケールすることを前提としています。

アプリケーション レベルは最終的なリソース値が確定される場所です。 これを調整する方法は 2 とおりあります。

実行中のアプリケーションに割り当てられた実際のリソース値を常に表示できます。 app 情報コマンドは、全体としてアプリケーションの実際の値を提供します。 comp list コマンドは、アプリケーション内の各アプライアンスの実際の値を提供します。

アプリケーション レベルでリソース制限および値を指定する機能により、個別のアプライアンス インスタンスを処理することなく、アプリケーション演算子がアプリケーションに対して全体としてリソースを定義することができます。 たとえば、実稼働アプリケーションは最大値に設定し(デフォルト値は最大値に設定されます)、機能テストに使用されるアプリケーションのコピーは最小値に設定できます。

これまでに、リソース値および制限の階層があることにお気付きでしょう。 優れたオブジェクト階層には継承があります。 あるスコープで値が明示的に定義されていない場合、リソース値は親スコープから継承されます。

インスタンス リソース設定ウィンドウおよびアプリケーション リソース設定ウィンドウの両方で、継承された値と明示的な値が区別されます。 明示的に定義された値は太字で表示され、継承された値は標準の字体で表示されます。 さらに、値が明示的に定義されている場合、継承された値に戻すための小さな矢印ボタンが表示されます。 また、すべての明示的な値を継承された値にリセットする[すべてリセット]ボタンもあります。

リソースの操作

アプリケーションの開始時に使用されるリソースの量を厳密に設定するには、最大値と最小値に同じ値を指定します。 これにより、以下のことが保証されます。

[リソース]タブでは、最小値を増やすか最大値を減らして、リソース範囲を縮小することのみが可能です。

リソースには以下の情報および設定可能なフィールドが含まれます。