3.10 リソースの見積もりについて
リソースは、共用メモリーサイズ、プロセス数、スレッド数、ファイルディスクリプター数、およびデータベース容量を見積もったあと、それらを集計して全体のリソースを見積もります。
共用メモリーサイズの見積もり
Webサーバ、およびパフォーマンストレーサーが使用する共用メモリーサイズの見積もりを次に示します。
- Webサーバが使用する共用メモリーサイズ
-
Webサーバが使用する共用メモリーサイズは、次の計算式で算出します。
なお、Webサーバが使用する共用メモリーサイズは共用メモリーファイルのサイズです。
Webサーバが使用する共用メモリーサイズ=7,168×ThreadsPerChild
- (凡例)
-
ThreadsPerChild:サーバとして起動するスレッド数(バイト)
- パフォーマンストレーサーが使用する共用メモリーサイズ
-
パフォーマンストレーサーが使用する共用メモリーサイズは、次の計算式で算出します。
なお、パフォーマンストレーサーが使用する共用メモリーサイズは共用メモリーファイルのサイズです。
パフォーマンストレーサーが使用する共用メモリーサイズ=PrfTraceBufferSize指定値×1,024+18,496
- (凡例)
-
PrfTraceBufferSize指定値:共用メモリーに確保するパフォーマンストレーサーのトレースバッファーサイズ(バイト)
プロセス数の見積もり
Java EE Server、Webサーバ、およびパフォーマンストレーサーのプロセス数の見積もりを次に示します。
- Java EE Serverのプロセス数
-
Java EE Serverの常駐プロセス数は、次の計算式で算出します。
Java EE Serverの常駐プロセス数=ドメイン管理サーバ数+サーバインスタンス数
- Webサーバのプロセス数
-
Webサーバのプロセス数は、次の計算式で算出します。
Webサーバのプロセス数=制御プロセス+サーバプロセス+CGIプロセス+rotatelogsプロセス +rotatelogs2プロセス
- (凡例)
-
制御プロセス:1
サーバプロセス:1
CGIプロセス:サーバスレッド数分
rotatelogsプロセス:CustomLogディレクティブ、ErrorLogディレクティブ、HWSRequestLogディレクティブ、TransferLogディレクティブに指定したrotatelogsプログラム数×2
rotatelogs2プロセス:CustomLogディレクティブ、ErrorLogディレクティブ、HWSRequestLogディレクティブ、TransferLogディレクティブに指定したrotatelogs2プログラム数×2
- パフォーマンストレーサーのプロセス数
-
パフォーマンストレーサーの常駐プロセス数は1です。
スレッド数の見積もり
Java EE Server、Webサーバ、およびパフォーマンストレーサーのスレッド数の見積もりを次に示します。
- Java EE Serverのスレッド数
-
Java EE Serverが使用するスレッド数は、次の計算式で算出します。
- (凡例)
-
Dt:ドメイン管理サーバの1プロセス当たりのスレッド総数
SIt: サーバインスタンスの1プロセス当たりのスレッド総数
m:ドメイン管理サーバのプロセス数
n:サーバインスタンスのプロセス数
ドメイン管理サーバの1プロセス当たりのスレッド総数Dtと、サーバインスタンスの1プロセス当たりのスレッド総数SItを求める計算式を次に示します。
- (凡例)
-
Tm:スレッドプールの最大値
Cm:JDBCコネクションプールのコネクション最大値(コネクション障害検知機能が有効な場合だけ。コネクション障害検知機能が無効な場合は0。)
Tn:スレッドプールに属さないスレッド数。ドメイン管理サーバやサーバインスタンスがデフォルトで生成するスレッド数は44です。
m:ドメイン管理サーバのスレッドプール数
n:サーバインスタンスのスレッドプール数
r:サーバインスタンスのJDBCコネクションプール数
mとnのスレッドプール数は、list-threadpoolsコマンドを実行して表示されるスレッドプールの一覧で確認してください。
- Webサーバのスレッド数
-
Webサーバが使用するスレッド数は、次の計算式で算出します。
Webサーバが使用するスレッド数=3+rotatelogsプロセス数+rotatelogs2プロセス数 +ThreadsPerChildディレクティブ指定値(サーバスレッド数)
- パフォーマンストレーサーのスレッド数
-
パフォーマンストレーサーが使用するスレッド数は10です。
ファイルディスクリプター数の見積もり
ファイルハンドル数がOSデフォルトのファイルハンドル数の上限値(16,581,375個)を超えることがないため、ファイルディスクリプター数を見積もる必要はありません。
データベース容量の見積もり
Application Serverの機能としてEJBタイマーサービスとJava Batchを使用する場合、DBMSを必要とします。DBMSにはテーブル情報が定義されているDDLファイルが格納されています。このDDLファイルのテーブル情報および実測したレコード数を基に、データベース容量の見積もりをしてください。
見積もりに必要なDDLファイルの格納場所を次に示します。
項番 |
対象 |
格納先ディレクトリー |
ファイル名 |
DBMS |
---|---|---|---|---|
1 |
EJBタイマーサービス |
Application Serverのインストールディレクトリー/javaee/glassfish/lib/install/databases |
ejbtimer_hirdb.sql |
HiRDB |
2 |
ejbtimer_oracle.sql |
Oracle |
||
3 |
Java Batch |
jsr352-hirdb.sql |
HiRDB |