Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus Reliable Messaging


付録E.1 メモリ所要量

Javaヒープ領域でのReliable Messagingのメモリ所要量を示します。

Application Serverのメモリ所要量と,次に示すReliable Messagingのメモリ所要量の総和の最大値をApplication ServerのJ2EEサーバ用オプション定義ファイル(usrconf.cfg)に指定する必要があります。add.jvm.argキーの-Xmxオプションに指定してください。

〈この項の構成〉

(1) 永続版リソースアダプタの場合

永続版リソースアダプタの場合のメモリ所要量を次に示します。

(a) メモリ所要量の見積もり式

Reliable Messagingのメモリ所要量の総和を求めるには,次に示す1.〜7.を加算します。

1.および2.で示すメモリ所要量は,Reliable Messagingが起動している間,常にJavaヒープ領域を消費する値です。

3.〜6.で示すメモリ所要量は,該当する処理の間,一時的に使用されるメモリ使用量です。該当する処理が終わると解放されます。

7.で示すメモリ所要量は,JDBCコネクションの生成時に使用されるメモリ所要量です。JDBCコネクションを切断すると解放されます。ただし,Application Serverのコネクションプーリング機能が有効な場合で,Application Serverで定義したコネクションプーリング数に空きがあるときは,JDBCコネクションは解放されないでプールされるため,メモリは保持され続けます。

  1. Reliable Messaging起動時のメモリ所要量

     60KB×キューの数
    +60KB×永続化されたメッセージ数
    +75KB×コンフィグレーションプロパティのMDBのインスタンス数
    +75KB×コンフィグレーションプロパティのRMTRSendThreadNumの値※1
    +20MB
  2. メッセージをキャッシュした際のメモリ所要量

    キャッシュしたメッセージのサイズ※2×キャッシュしたメッセージ数
  3. 送信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ※2×10+150KB)×メッセージ同時送信数+2MB
  4. 受信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ※2×5+300KB)×メッセージ同時受信数+2MB
  5. MDBによる受信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ※2×5+4MB)×メッセージ同時受信数+2MB
  6. キュー間転送で一時的に使用するメモリ使用量

    (メッセージのサイズ※2×10+450KB)×メッセージ同時送信数+2MB 
  7. JDBCコネクションでのメモリ所要量

    使用する最大のメッセージのサイズ※2×4×コネクション同時使用数
注※1

コンフィグレーションプロパティのRMTRConnectFlagの値をtrueに設定した場合だけ加算してください。

注※2

メッセージのヘッダ,プロパティ,ペイロードおよびメッセージに付属するオブジェクトのサイズの合計です。

(b) メモリ所要量の見積もり例

次に示す七つの条件のもとにReliable Messagingのメモリ所要量を見積もる例を示します。

  • 条件1:デフォルトのオプションで生成されたローカルキューが一つ

  • 条件2:条件1のキューに永続化されたメッセージは10件

  • 条件3:条件2のメッセージはキャッシュされていない状態

  • 条件4:コンフィグレーションプロパティのMDBのインスタンス数の値を1に設定

  • 条件5:使用する最大のメッセージのサイズが1MB

  • 条件6:必須項目以外のコンフィグレーションプロパティはデフォルト値

  • 条件7:メッセージサイズが1MBのメッセージ

見積もり例1

条件1〜条件6を満たす環境でReliable Messagingを起動した場合のメモリ所要量は,「付録E.1(1)(a) メモリ所要量の見積もり式」で示した「1. Reliable Messaging起動時のメモリ所要量」と「7. JDBCコネクションでのメモリ所要量」の合計で算出できます。この条件の場合,7.のコネクション同時使用数は2となります。

(60KB×1+60KB×10+75KB×1+20MB)+(1MB×4×2)
=約29MB
見積もり例2

条件1〜条件5を満たす環境で,条件1で生成したローカルキューに対して条件7のメッセージを1件送信した際のメモリ所要量は,「付録E.1(1)(a) メモリ所要量の見積もり式」で示した「1. Reliable Messaging起動時のメモリ所要量」,「2. メッセージをキャッシュした際のメモリ所要量」,「3. 送信処理で一時的に使用するメモリ使用量」および「7. JDBCコネクションでのメモリ所要量」の合計で算出できます。この条件の場合,7.のコネクション同時使用数は2となります。

(60KB×1+60KB×10+75KB×1+20MB)+1MB+((1MB×10+150KB)×1+2MB)+(1MB×4×2)
=約42MB

(c) メモリ所要量見積もり時の注意事項

次に示す値は,hrmmkqueコマンド(-tオプションにshr_receive指定)の実行時に一時的に使用するメモリ所要量です。

3KB×-nオプションの値+3MB

この値は,サーバ側のJava VMでのメモリ使用量です。クライアント側でのメモリ使用量には加算されません。

(2) 非永続版リソースアダプタの場合

非永続版リソースアダプタの場合のメモリ所要量を次に示します。

(a) メモリ所要量の見積もり式

Reliable Messagingのメモリ所要量の総和を求めるには,次に示す1.〜5.を加算します。

1.および2.で示すメモリ所要量は,Reliable Messagingが起動している間,常にJavaヒープ領域を消費する値です。

3.〜5.で示すメモリ所要量は,該当する処理の間,一時的に使用されるメモリ使用量です。該当する処理が終わると解放されます。

  1. Reliable Messaging起動時のメモリ所要量

    60KB×キューの数+20MB
  2. メッセージをキューに登録した際のメモリ所要量

    キューに登録したメッセージのサイズ×メッセージ数
    +60KB×登録されたメッセージ数
  3. 送信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ×10+150KB)×メッセージ同時送信数+2MB
  4. 受信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ×5+300KB)×メッセージ同時受信数+2MB
  5. Message-driven Beanによる受信処理で一時的に使用するメモリ使用量

    (メッセージのサイズ×5+4MB)×メッセージ同時受信数+2MB
注※

メッセージのヘッダ,プロパティ,ペイロードおよびメッセージに付属するオブジェクトのサイズの合計です。

(b) メモリ所要量の見積もり例

次に示す三つの条件のもとにReliable Messagingのメモリ所要量を見積もる例を示します。

  • 条件1:デフォルトのオプションで生成されたローカルキューが10個

  • 条件2:必須項目以外のコンフィグレーションプロパティはデフォルト値

  • 条件3:メッセージサイズが1MBのメッセージ

見積もり例1

条件1〜条件2を満たす環境でReliable Messagingを起動した場合のメモリ所要量は,「付録E.1(2)(a) メモリ所要量の見積もり式」で示した「1. Reliable Messaging起動時のメモリ所要量」で算出できます。

60KB×10+20MB
=約21MB
見積もり例2

条件1〜条件2を満たす環境で,ローカルキューに対して条件3のメッセージを1件送信した際の一時的なメモリ所要量は,「付録E.1(2)(a) メモリ所要量の見積もり式」で示した次の値の合計で算出できます。

  1. Reliable Messaging起動時のメモリ所要量

  2. メッセージをキューに登録した際のメモリ所要量

  3. 送信処理で一時的に使用するメモリ使用量

(60KB×10+20MB)+(1MB×1+60KB×1)+((1MB×10+150KB)×1+2MB)
=約34MB