付録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コネクションは解放されないでプールされるため,メモリは保持され続けます。
-
Reliable Messaging起動時のメモリ所要量
60KB×キューの数 +60KB×永続化されたメッセージ数 +75KB×コンフィグレーションプロパティのMDBのインスタンス数 +75KB×コンフィグレーションプロパティのRMTRSendThreadNumの値※1 +20MB
-
メッセージをキャッシュした際のメモリ所要量
キャッシュしたメッセージのサイズ※2×キャッシュしたメッセージ数
-
送信処理で一時的に使用するメモリ使用量
(メッセージのサイズ※2×10+150KB)×メッセージ同時送信数+2MB
-
受信処理で一時的に使用するメモリ使用量
(メッセージのサイズ※2×5+300KB)×メッセージ同時受信数+2MB
-
MDBによる受信処理で一時的に使用するメモリ使用量
(メッセージのサイズ※2×5+4MB)×メッセージ同時受信数+2MB
-
キュー間転送で一時的に使用するメモリ使用量
(メッセージのサイズ※2×10+450KB)×メッセージ同時送信数+2MB
-
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.で示すメモリ所要量は,該当する処理の間,一時的に使用されるメモリ使用量です。該当する処理が終わると解放されます。
-
Reliable Messaging起動時のメモリ所要量
60KB×キューの数+20MB
-
メッセージをキューに登録した際のメモリ所要量
キューに登録したメッセージのサイズ※×メッセージ数 +60KB×登録されたメッセージ数
-
送信処理で一時的に使用するメモリ使用量
(メッセージのサイズ※×10+150KB)×メッセージ同時送信数+2MB
-
受信処理で一時的に使用するメモリ使用量
(メッセージのサイズ※×5+300KB)×メッセージ同時受信数+2MB
-
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) メモリ所要量の見積もり式」で示した次の値の合計で算出できます。
-
Reliable Messaging起動時のメモリ所要量
-
メッセージをキューに登録した際のメモリ所要量
-
送信処理で一時的に使用するメモリ使用量
(60KB×10+20MB)+(1MB×1+60KB×1)+((1MB×10+150KB)×1+2MB) =約34MB
-