ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

6.19.1 GlassFishのスレッド数

GlassFishのスレッド数を見積り式により算出し、システムの以下のパラメタ値に加算してください。

パラメタ

意味

[リソース制限(/etc/security/limits.conf)]
nproc

1ユーザーが実行できるプロセス(スレッド)の最大数

[リソース制限(unit)]

LimitNPROC

1ユーザーが実行できるプロセス(スレッド)の最大数


以下の見積り式でGlassFishのスレッド数を算出してください。

PCMIサービスで使用するスレッド数GlassFish Serverインスタンス1個当たりのスレッド数 × (GlassFish Serverインスタンス数 + 1)(注)
バッチジョブで使用するスレッド数

注)
GlassFish Serverインスタンス数を1つ追加するのはDASのプロセスを考慮しているためです。


システムのリソースを制限するには、/etc/security/limits.confファイルを編集し、必要なパラメタ値を変更します。変更後は、変更した値を反映するためにシステムをリブートしてください。変更方法の詳細については、OSのドキュメントを参照してください。

ただし、Linux環境でPCMIサービスを自動起動する場合、unitファイル(FJSVpcmiglassfish5_start.service)の[Service]セクションに本パラメタの値を設定してください。
unitファイルの設定方法については、「チューニングガイド」の「RHEL7/RHEL8のunitファイルでの環境定義」を参照してください。

PCMIサービスで使用するスレッド数

以下の見積り式でPCMIサービスが使用するスレッド数を算出してください。

8 × (PCMIサービスが管理するプロセス数) + 18

PCMIサービスが管理するプロセス数は以下の見積り式で算出してください。

(GlassFish Serverインスタンス数) + 1(注)

)
GlassFish Serverインスタンス数を1つ追加するのはDASのプロセスを考慮しているためです。

GlassFish Serverインスタンス1個当たりのスレッド数

以下の見積り式でGlassFish Serverインスタンス1個当たりのスレッド数を算出してください。

3 × (HTTPリスナー/HTTPSリスナー用スレッドプールの最大プールサイズ(注1)
+ 配備しているWebアプリケーションの数
+ EJBコンテナのデフォルトスレッドプールの最大プールサイズ(注1)
+ Enterprise Beanごとに作成したスレッドプールの最大プールサイズの合計(注1)
+ Session Beanの非同期処理スレッドの最大プールサイズの合計
+ GlassFish Serverインスタンスで使用するJDBC接続プールの最大プールサイズの合計数
+ GlassFish Serverインスタンスで使用するコネクタ接続プールの最大プールサイズの合計数
+ 3 × (JMS接続ファクトリの最大プールサイズの合計 + Message-driven Beanの数) (注2)
+ GlassFish Serverインスタンスで使用する管理実行サービスの最大プールサイズの合計数 + GlassFish Serverインスタンスで使用する管理スケジュール実行サービスのコアプールサイズの合計数
+ GlassFish Serverインスタンスで使用する管理スレッドファクトリが作成するスレッド数の最大数 + 2 × プロセッサ数 + 250

1)
スレッドプールの定義項目名の${thread-pool-name}に指定する値は「8.8.16 スレッドプールの定義項目」の「■スレッドプール」を参照して指定してください。

2)
JMSを使用しない場合は、加算する必要はありません。

バッチジョブで使用するスレッド数

バッチジョブで使用するスレッド数は以下の2つのうち、いずれか小さい値です。

バッチジョブのランタイムに指定する管理実行サービスの最大プールサイズ

または

同時実行されるバッチジョブ数、スプリット中のフロー数、およびパーティション化スレッド数の合計値