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

[目次][用語][索引][前へ][次へ]

付録E.1 メモリ所要量

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

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

<この項の構成>
(1) 永続版リソースアダプタの場合
(2) 非永続版リソースアダプタの場合

(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
条件1〜条件6を満たす環境でReliable Messagingを起動した場合のメモリ所要量は,「(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件送信した際のメモリ所要量は,「(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
条件1〜条件2を満たす環境でReliable Messagingを起動した場合のメモリ所要量は,「(2)(a) メモリ所要量の見積もり式」で示した「1. Reliable Messaging起動時のメモリ所要量」で算出できます。
 
60KB×10+20MB
=約21MB

見積もり例2
条件1〜条件2を満たす環境で,ローカルキューに対して条件3のメッセージを1件送信した際の一時的なメモリ所要量は,「(2)(a) メモリ所要量の見積もり式」で示した次の値の合計で算出できます。
  1. Reliable Messaging起動時のメモリ所要量
  2. メッセージをキューに登録した際のメモリ所要量
  3. 送信処理で一時的に使用するメモリ使用量
 
(60KB×10+20MB)+(1MB×1+60KB×1)+((1MB×10+150KB)×1+2MB)
=約34MB