Hitachi

 Hitachi Application Server V10 ユーザーズガイドUNIX®用)


3.10 リソースの見積もりについて

リソースは、共用メモリーサイズ、プロセス数、スレッド数、ファイルディスクリプター数、およびデータベース容量を見積もったあと、それらを集計して全体のリソースを見積もります。

共用メモリーサイズの見積もり

Webサーバ、およびパフォーマンストレーサーが使用する共用メモリーサイズの見積もりを次に示します。

Webサーバが使用する共用メモリーサイズ

Web サーバが使用する共用メモリーサイズは、次の計算式で算出します。

なお、Web サーバが使用する共用メモリーサイズは共用メモリーセグメントのサイズです。

Webサーバが使用する共用メモリーサイズ=409,600+7,168×MaxRequestWorkers
(凡例)

MaxRequestWorkers:同時に接続できるクライアントの最大数(バイト)

パフォーマンストレーサーが使用する共用メモリーサイズ

パフォーマンストレーサーが使用する共用メモリーサイズは、次の計算式で算出します。

なお、パフォーマンストレーサーが使用する共用メモリーサイズは共用メモリーセグメントのサイズです。

パフォーマンストレーサーが使用する共用メモリーサイズ=PrfTraceBufferSize指定値×1,024+18,496
(凡例)

PrfTraceBufferSize指定値:共用メモリーに確保するパフォーマンストレーサーのトレースバッファーサイズ(バイト)

プロセス数の見積もり

Java EE Server、Webサーバ、およびパフォーマンストレーサーのプロセス数の見積もりを次に示します。

Java EE Serverのプロセス数

Java EE Serverの常駐プロセス数は、次の計算式で算出します。

Java EE Serverの常駐プロセス数=ドメイン管理サーバ数サーバインスタンス数
Webサーバのプロセス数

Web サーバのプロセス数は、次の計算式で算出します。

Webサーバのプロセス数=制御プロセスサーバプロセスCGIプロセスgcacheサーバrotatelogsプロセスrotatelogs2プロセス
(凡例)

制御プロセス:1

サーバプロセスMaxRequestWorkersディレクティブ指定数

CGIプロセス:サーバプロセス数分

gcacheサーバ:1

rotatelogsプロセスCustomLogディレクティブ、ErrorLogディレクティブ、HWSRequestLogディレクティブ、TransferLogディレクティブに指定したrotatelogsプログラム数

rotatelogs2プロセスCustomLogディレクティブ、ErrorLogディレクティブ、HWSRequestLogディレクティブ、TransferLogディレクティブに指定したrotatelogs2プログラム数

パフォーマンストレーサーのプロセス数

パフォーマンストレーサーの常駐プロセス数は1です。

スレッド数の見積もり

Java EE Server、Webサーバ、およびパフォーマンストレーサーのスレッド数の見積もりを次に示します。

Java EE Serverのスレッド数

Java EE Serverが使用するスレッド数は、次の計算式で算出します。

[図データ]

(凡例)

Dt:ドメイン管理サーバの1プロセス当たりのスレッド総数

SIt: サーバインスタンスの1プロセス当たりのスレッド総数

:ドメイン管理サーバのプロセス数

:サーバインスタンスのプロセス数

ドメイン管理サーバの1プロセス当たりのスレッド総数Dtと、サーバインスタンスの1プロセス当たりのスレッド総数SItを求める計算式を次に示します。

[図データ]

[図データ]

(凡例)

Tm:スレッドプールの最大値

Cm:JDBCコネクションプールのコネクション最大値(コネクション障害検知機能が有効な場合だけ。コネクション障害検知機能が無効な場合は0。)

Tn:スレッドプールに属さないスレッド数。メイン管理サーバやサーバインスタンスがデフォルトで生成するスレッド数は44です。

:ドメイン管理サーバのスレッドプール数

:サーバインスタンスのスレッドプール数

:サーバインスタンスのJDBCコネクションプール数

のスレッドプール数は、list-threadpoolsコマンドを実行して表示されるスレッドプールの一覧で確認してください。

Webサーバのスレッド数

Webサーバが使用するスレッド数は、Webサーバが使用するプロセス数と同じです。

パフォーマンストレーサーのスレッド数

パフォーマンストレーサーが使用するスレッド数は10です。

ファイルディスクリプター数の見積もり

Java EEサーバ、Webサーバ、およびパフォーマンストレーサーのファイルディスクリプター数の見積もりを次に示します。

Java EEサーバのファイルディスクリプター数

Java EEサーバのファイルディスクリプター数は、OSのopen()socket()などのシステムコールの発行に従って増減します。また、ファイルディスクリプター数は、DBMSの同時接続数によっても異なります。

ここでは、DBMSの最大同時接続数を基に、Java EEサーバが使用するファイルディスクリプター数の見積もりを示します。

Java EEサーバが使用するファイルディスクリプター数は、次の計算式で算出します。

Java EEサーバのファイルディスクリプター数=JDBコネクションプールサイズ×2
Webサーバのファイルディスクリプター数

Webサーバが使用するファイルディスクリプター数は、次の計算式で算出します。

  • Linuxの場合

    Webサーバが使用するファイルディスクリプター数=(50+A×B+C+11×C×D+8×E+(F+H)×G)×1.2
  • AIXの場合

    Webサーバが使用するファイルディスクリプター数=(50+A×B+C+3×C×D+5×E+(F+H)×G)×1.2

    (凡例)

    AListenディレクティブ指定数(Listenディレクティブの指定がない場合は1)

    B:ホストに割り当てられたIPアドレスの数

    CCustomLogディレクティブ、ErrorLogディレクティブ、HWSRequestLogディレクティブ、TransferLogディレクティブ指定の総数

    D:rotatelogsプログラムまたはrotatelogs2プログラムを使用する場合は1、使用しない場合は0

    E:同時実行CGI数(MaxRequestWorkers指定値。CGIプログラムを使用しない場合は0)

    F:SSLを使用する場合は3、使用しない場合は2

    G:同時実行リクエスト数(MaxRequestWorkers指定値)

    H:リバースプロキシーを使用する場合は1、使用しない場合は0

    なお、CGIプログラム内およWebサーバに同梱されていない外部モジュール内で使用するファイルディスクリプターの数は含みません。

パフォーマンストレーサーのファイルディスクリプター数

パフォーマンストレーサー起動時に使用するファイルディスクリプターの数は、32以上に設定してください。

データベース容量の見積もり

Application Serverの機能としてEJBタイマーサービスとJava Batchを使用する場合、DBMSを必要とします。DBMSにはテーブル情報が定義されているDDLファイルが格納されています。このDDLファイルのテーブル情報および実測したレコード数を基に、データベース容量の見積もりをしてください。

見積もりに必要なDDLファイルの格納場所を次に示します。

表3‒4 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