Java EE 7機能のスレッド数を見積もり式により算出し、システムの以下のパラメタ値に加算してください。
パラメタ | 意味 |
---|---|
[リソース制限(/etc/security/limits.conf)] | 1ユーザーが実行できるプロセス(スレッド)の最大数 |
[リソース制限(unit)] LimitNPROC | 1ユーザーが実行できるプロセス(スレッド)の最大数 |
以下の見積もり式でJava EE 7機能のスレッド数を算出してください。
PCMIサービスで使用するスレッド数 + サーバーインスタンス1個あたりのスレッド数 × (サーバーインスタンス数 + 1)(注)
+ バッチジョブで使用するスレッド数
注)
サーバーインスタンス数を1つ追加するのはInterstage Java EE 7 DASサービスのプロセスを考慮しているためです。
システムのリソースを制限するには、/etc/security/limits.confファイルを編集し、必要なパラメタ値を変更します。変更後は、変更した値を反映するためにシステムをリブートしてください。変更方法の詳細については、OSのドキュメントを参照してください。
ただし、RHEL7環境でPCMIサービスを自動起動する場合、unitファイル(FJSVpcmiisje7_start.service)の[Service]セクションに本パラメタの値を設定してください。
unitファイルの設定方法については、「チューニングガイド」の「RHEL7のunitファイルでの環境定義」を参照してください。
以下の見積もり式でPCMIサービスが使用するスレッド数を算出してください。
8 × (PCMIサービスが管理するプロセス数) + 18
PCMIサービスが管理するプロセス数は以下の見積もり式で算出してください。
(サーバーインスタンス数) + 1(注)
注)
サーバーインスタンス数を1つ追加するのはInterstage Java EE 7 DASサービスのプロセスを考慮しているためです。
以下の見積もり式でサーバーインスタンス1個あたりのスレッド数を算出してください。
3 × (HTTPリスナー/HTTPSリスナー用スレッドプールの最大プールサイズ(注1) + 配備しているWebアプリケーションの数 + EJBコンテナのデフォルトスレッドプールの最大プールサイズ(注1) + Enterprise Beanごとに作成したスレッドプールの最大プールサイズの合計(注1) + Session Beanの非同期処理スレッドの最大プールサイズの合計 + サーバーインスタンスで使用するJDBC接続プールの最大プールサイズの合計数 + サーバーインスタンスで使用するコネクタ接続プールの最大プールサイズの合計数 + 3 × (JMS接続ファクトリの最大プールサイズの合計 + Message-driven Beanの数) (注2)
+ サーバーインスタンスで使用する管理実行サービスの最大プールサイズの合計数 + サーバーインスタンスで使用する管理スケジュール実行サービスのコアプールサイズの合計数
+ サーバーインスタンスで使用する管理スレッドファクトリが作成するスレッド数の最大数 + セッションリカバリで使用するスレッド数 (注3) + 2 × プロセッサ数 + 250
注1)
スレッドプールの定義項目名の${thread-pool-name}に指定する値は「8.8.16 スレッドプールの定義項目」の「■スレッドプール」を参照して指定してください。
注2)
JMSを使用しない場合は加算する必要はありません。
注3)
セッションリカバリを使用する場合は、セッションリカバリで使用するスレッド数として以下の値を加算してください。
Session Registry Clientの場合:
10 + セッションリカバリを有効にし配備しているWebアプリケーションの数
Session Registry Serverの場合:
(1 + (監視対象のSession Registry Clientにセッションリカバリを有効にし配備しているWebアプリケーションの数 × 2) + 監視対象のSession Registry Clientの数) × 2
バッチジョブで使用するスレッド数は以下の2つのうち、いずれか小さい値です。
バッチジョブのランタイムに指定する管理実行サービスの最大プールサイズ
または
同時実行されるバッチジョブ数、スプリット中のフロー数、およびパーティション化スレッド数の合計値