5.2.4 CTMが使用するリソースの見積もり
(1) Windowsの場合
Windowsを使用する場合にCTMが使用するリソースの見積もりについて説明します。
(a) 共用メモリ用ファイルサイズ
CTMで使用する共用メモリ用ファイルサイズ(単位:バイト)の計算式について説明します。CTMデーモンの場合は,複数の共用メモリを確保する必要があります。CTMデーモン単位で固定長の共用メモリファイルと,可変長の共用メモリファイルがあります。それぞれのファイルサイズの計算式を次に示します。
- CTMドメインマネジャの共用メモリ用ファイルサイズの計算式
共用メモリ用ファイルサイズ = 1,018,320+(2,362 × -CTMMaxCTM指定値)
- CTMデーモンの共用メモリ用ファイルサイズの計算式
CTMデーモンの場合は,CTMデーモン単位で固定長の共用メモリ用ファイルと可変長の共用メモリ用ファイルを確保する必要があります。
- 固定長の共用メモリ用ファイルサイズ =
551,840 + (1,208 × -CTMQueueCount指定値)
- 可変長の共用メモリ用ファイルサイズ =
1,027,008
+(928 × -CTMClientConnectCount指定値)
+(256 × -CTMServerConnectCount指定値)
+(512 × -CTMEntryCount指定値)
+(1,024 ×-CTMServerCacheSize指定値)
+(512 × -CTMQueueCount指定値)
+(544 × -CTMQueueCount指定値 × -CTMQueueRegistCount指定値)
+(512 × -CTMDispatchParallelCount指定値)
(b) 稼働統計情報ファイルサイズ
稼働統計情報ファイルサイズ(単位:バイト)の計算式を次に示します。
- オンライン開始から終了までに必要な稼働統計情報ファイルサイズの計算式
ファイルサイズ = A+B
(凡例)
- A:(オンライン開始から終了までに実行されるリクエストの数)×(1リクエストで出力される情報量)
- B:(オンライン開始から終了までの時間(分) / ctmstsstart -CTMIntervalに指定した取得間隔)×(1回に出力されるCTMノード単位,キュー単位統計情報量)
1リクエストで出力される情報量と,1回に出力されるCTMノード単位,キュー単位統計情報量の計算式を次に示します。
- 1リクエストで出力される情報量の計算式
情報量 = (↑(80+A+B+C+D+63) / 64↑ × 64) × 3
(凡例)
- A:リクエストを実行するアプリケーションを管理しているCTMドメイン名のドメイン長
- B:リクエストを実行するアプリケーションを管理しているCTMデーモンのCTM識別子の長さ
- C:キュー名称の長さ
- D:オペレーション名称の長さ
- 1回に出力されるCTMノード単位,キュー単位統計情報量の計算式
統計情報量 = ↑(2,144+344 × キュー数+63) / 64↑ × 64
(c) %CTMSPOOL%のディスク占有量
%CTMSPOOL%のディスク占有量の計算式を次に示します。
- %CTMSPOOL%のディスク占有量の計算式
ディスク占有量 = 7.0MB
+(18.5MB+1.0MB×-CTMLogFileSize指定値×-CTMLogFileCount指定値)×n
+(1KB+0.5KB×k)×(m+l)
+ 1KB×m×j
+ 224KB×p
+ 1,120KB×(64+q)
+ CTMドメインマネジャの共有メモリ用ファイルサイズ×5
+ CTMデーモンの共有メモリ用ファイルサイズ×5×n
+ CTMドメインマネジャのcoreサイズ
+ CTMデーモンのcoreサイズ×n
+ CTMレギュレータのcoreサイズ×3×m
+ OTMゲートウェイのcoreサイズ×3×l
+(-CTMStatsFileSize指定値×-CTMStatsFileCount指定値)×n
(凡例)
- j:EJBの総数
- k:CTMレギュレータおよびOTMゲートウェイに接続できるクライアント数(-CTMClientConnectCountオプション指定値)
- l:OTMゲートウェイの総数
- m:CTMレギュレータの総数
- n:CTMデーモンの数
- p:起動中のユーザアプリケーションのプロセス数と正常終了しなかったユーザアプリケーションのプロセス数
CTMでは,ユーザアプリケーションごとに,保守情報として内部トレースをファイルに出力します。このファイルはプロセス起動時に作成されますが,プロセスが正常終了しない場合はファイルが残ります。ファイルの削除処理はCTMドメインマネジャ起動時,およびCTMドメインマネジャ起動後24時間ごとに実施しますが,256ファイルは削除されないで残ります。このため,最大ファイル数は「256+起動中プロセス数」になります。
- q:起動中のシステム系プロセス数
CTMでは,プロセスごとに,保守情報として内部トレースをファイルに出力します。このファイルはプロセス起動時に作成されます。CTMドメインマネジャ起動時,およびCTMドメインマネジャ起動後24時間ごとにファイル削除処理を実施しますが,64ファイルは削除されないで残ります。このため,最大ファイル数は「64+起動中プロセス数」になります。
上記のディスク容量は目安です。このため,十分な余裕を持って,%CTMSPOOL%を作成してください。
(2) AIXの場合
AIXを使用する場合,CTMを使用するために,次の値を考慮してカーネルパラメタを設定する必要があります。正しく設定できていない場合には,CTMのプロセスが起動できなかったり,動作中にリソース不足で異常終了になったりするおそれがあります。なお,カーネルパラメタの設定については,使用しているOSのマニュアルを参照してください。
(a) 共用メモリ用ファイルサイズ
共用メモリ用ファイルサイズは,環境変数EXTSHMで設定します。計算式で算出した値以上に共用メモリが割り当てられるように設定してください。なお,計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(b) 稼働統計情報ファイルサイズ
稼働統計情報ファイルサイズの計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(c) ファイルディスクリプタ数
CTMデーモンでは,起動時のオプションを基に,次の計算式で示すように,プロセスで使用できるファイルディスクリプタの数を増加させます。OSの設定値が,計算式で設定したCTMデーモンで必要とするファイルディスクリプタの最大値に満たない場合には,プロセス起動でエラー終了します。計算式を基に/etc/security/limits.confファイルの「nofiles」を変更してください。
- CTMデーモンで必要とするファイルディスクリプタ数の最大値の計算式
最大値 = (A×2+B×4+C×2+D×E+F×EJB数+G+100) / 0.8
(凡例)
- A:-CTMMaxCTM値(ctmdが属するctmdmdで指定された値)
- B:-CTMClientConnectCount値
- C:-CTMServerConnectCount値
- D:-CTMQueueCount値
- E:-CTMQueueRegistCount値
- F:-CTMDispatchParallelCount値
- G:Createを発行するEJBクライアントの総数
(d) $CTMSPOOLのディスク占有量
$CTMSPOOLのディスク占有量の計算式を次に示します。
- $CTMSPOOLのディスク占有量の計算式
ディスク占有量 = 7.0MB
+(18.5MB+1.0MB×-CTMLogFileSize指定値×-CTMLogFileCount指定値)×n
+(1KB+0.5KB×k)×(m+l)
+ 1KB×m×j
+ 224KB×p
+ 1,120KB×(64+q)
+ CTMドメインマネジャの共有メモリ用ファイルサイズ×5
+ CTMデーモンの共有メモリ用ファイルサイズ×5×n
+ CTMドメインマネジャのcoreサイズ
+ CTMデーモンのcoreサイズ×n
+ CTMレギュレータのcoreサイズ×3×m
+ OTMゲートウェイのcoreサイズ×3×l
+(-CTMStatsFileSize指定値×-CTMStatsFileCount指定値)×n
(凡例)
- j:EJBの総数
- k:CTMレギュレータおよびOTMゲートウェイに接続できるクライアント数(-CTMClientConnectCountオプション指定値)
- l:OTMゲートウェイの総数
- m:CTMレギュレータの総数
- n:CTMデーモンの数
- p:起動中のユーザアプリケーションのプロセス数と正常終了しなかったユーザアプリケーションのプロセス数
CTMでは,ユーザアプリケーションごとに,保守情報として内部トレースをファイルに出力します。このファイルはプロセス起動時に作成されますが,プロセスが正常終了しない場合はファイルが残ります。ファイルの削除処理はCTMドメインマネジャ起動時,およびCTMドメインマネジャ起動後24時間ごとに実施しますが,256ファイルは削除されないで残ります。このため,最大ファイル数は「256+起動中プロセス数」になります。
- q:起動中のシステム系プロセス数
CTMでは,プロセスごとに,保守情報として内部トレースをファイルに出力します。このファイルはプロセス起動時に作成されます。CTMドメインマネジャ起動時,およびCTMドメインマネジャ起動後24時間ごとにファイル削除処理を実施しますが,64ファイルは削除されないで残ります。このため,最大ファイル数は「64+起動中プロセス数」になります。
上記のディスク容量は目安です。このため,十分な余裕を持って,$CTMSPOOLを作成してください。
(3) HP-UXの場合
HP-UXを使用する場合,CTMを使用するために,次の値を考慮してカーネルパラメタを設定する必要があります。正しく設定できていない場合には,CTMのプロセスが起動できなかったり,動作中にリソース不足で異常終了になったりするおそれがあります。なお,カーネルパラメタの設定については,使用しているOSのマニュアルを参照してください。
(a) 共用メモリ用ファイルサイズ
共用メモリ用ファイルサイズは,Kernel Configurationの「shmmax」で設定します。計算式で算出した値以上に共用メモリが割り当てられるように設定してください。なお,計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(b) 稼働統計情報ファイルサイズ
稼働統計情報ファイルサイズの計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(c) ファイルディスクリプタ数
ファイルディスクリプタ数は,Kernel Configurationの「maxfiles」で設定します。計算式を基に「maxfiles」を変更してください。なお,計算式については,AIXの場合と同じです。AIXの計算式を参照してください。
(d) スレッド数
CTMデーモンでは,J2EEサーバの起動やJ2EEアプリケーションの開始,およびEJBクライアントからの要求に対してスレッドが作成されます。計算式を基に,プロセスで使用するスレッドの最大値をKernel Configurationの「max_thread_proc」で変更してください。
- CTMデーモンで必要とするスレッド数の最大値の計算式
最大値 = (A×4+B×3+C×2+D×E+F+G+32) / 0.8
(凡例)
- A:-CTMMaxCTM値(ctmdが属するctmdmdで指定された値)
- B:-CTMClientConnectCount値
- C:-CTMServerConnectCount値
- D:-CTMQueueCount値
- E:-CTMQueueRegistCount値
- F:-CTMDispatchParallelCount値
- G:Createを発行するEJBクライアントの総数
(e) $CTMSPOOLのディスク占有量
$CTMSPOOLのディスク占有量の計算式については,AIXの場合と同じです。AIXの計算式を参照してください。
(4) Linuxの場合
Linuxを使用する場合,CTMを使用するために,次の値を考慮してカーネルパラメタを設定する必要があります。正しく設定できていない場合には,CTMのプロセスが起動できなかったり,動作中にリソース不足で異常終了になったりするおそれがあります。なお,カーネルパラメタの設定については,使用しているOSのマニュアルを参照してください。
(a) 共用メモリ用ファイルサイズ
共用メモリ用ファイルサイズは,/etc/sysctl.confファイルの「kernel.shmmax」で設定します。計算式で算出した値以上に共用メモリが割り当てられるように設定してください。なお,計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(b) 稼働統計情報ファイルサイズ
稼働統計情報ファイルサイズの計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(c) ファイルディスクリプタ数
ファイルディスクリプタ数は,/etc/security/limits.confファイルの「nofiles」で設定します。計算式を基に「nofiles」を変更してください。なお,計算式については,AIXの場合と同じです。AIXの計算式を参照してください。
(d) $CTMSPOOLのディスク占有量
$CTMSPOOLのディスク占有量の計算式については,AIXの場合と同じです。AIXの計算式を参照してください。
(5) Solarisの場合
Solarisを使用する場合,CTMを使用するために,次の値を考慮してカーネルパラメタを設定する必要があります。正しく設定できていない場合には,CTMのプロセスが起動できなかったり,動作中にリソース不足で異常終了になったりするおそれがあります。なお,カーネルパラメタの設定については,使用しているOSのマニュアルを参照してください。
(a) 共用メモリ用ファイルサイズ
共用メモリ用ファイルサイズは,/etc/systemファイルの「shmsys:shminfo_shmmax」で設定します。計算式で算出した値以上に共用メモリが割り当てられるように設定してください。なお,計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(b) 稼働統計情報ファイルサイズ
稼働統計情報ファイルサイズの計算式については,Windowsの場合と同じです。Windowsの計算式を参照してください。
(c) ファイルディスクリプタ数
ファイルディスクリプタ数は,計算式を基に/etc/systemファイルの「rlim_fd_max」で設定します。計算式を基に「rlim_fd_max」を変更してください。なお,計算式については,AIXの場合と同じです。AIXの計算式を参照してください。
(d) $CTMSPOOLのディスク占有量
$CTMSPOOLのディスク占有量の計算式については,AIXの場合と同じです。AIXの計算式を参照してください。