1.8.16 アプリケーション呼び出しサービスを複数インポートする
アプリケーション呼び出しサービスのEARは1つのJ2EEサーバに複数インポートできます。
- 重要
-
この項の内容は,アプリケーション呼び出しサービスに関する性能要件がある場合に参照し,検討してください。
1つのJ2EEサーバにインポートできるアプリケーション呼び出しサービスのEAR数は最大8個です。また,J2EEサーバを複数構築して総EAR数を9個以上にすることもできます。
(1) 複数インポートするのが有効なケース
アプリケーション呼び出しサービス(EAR)を複数インポートするのが有効なケースは次のとおりです。
-
平時のRESTアプリケーションのレスポンス時間として著しく長いものがある場合,その影響を局所化したいケース
詳細は「1.8.18 呼び出し処理に時間が掛かる場合の影響局所化」を参照してください。
-
個々のref識別子に対応するRESTアプリケーションへの同時リクエスト数を減らしたいが,必要となる総スレッド数を減らしたくないケース
詳細は「1.8.7 呼び出しの流量制御」の「(4) RESTアプリケーション呼び出しの流量制御」,および「1.8.17 短時間に大量の作業が生成されるシステムでの考慮事項」を参照してください。
(2) 総EAR数の検討
アプリケーション呼び出しサービス(EAR)を複数インポートする場合,無駄なアプリケーション呼び出しサービスが生じることを防止するために,総EAR数は次の式を満たすように決定してください。総EAR数とは,すべてのJ2EEサーバのアプリケーション呼び出しサービス(EAR)の合計数です。
総EAR数<=アプリケーション呼び出し制御情報の登録数
式中の「アプリケーション呼び出し制御情報の登録数」は,次の表の項番1,2,3を合計したものです。
|
項番 |
種類 |
カウント方法 |
|---|---|---|
|
1 |
ref識別子共通設定 (Common) |
|
|
2 |
ref識別子 |
ciwmngapコマンドで登録したref識別子の数※ |
|
3 |
グループ |
ciwmngapコマンドで登録したグループの数※ |
- 注※
-
ciwmngap -listの出力結果で登録数を確認できます。
(3) 前提プログラムの設定と見積もり
1つのJ2EEサーバに複数のアプリケーション呼び出しサービス(EAR)をインポートする場合,次の設定や見積もりに影響します。
TimerServiceのスレッド数の設定
J2EEサーバ用ユーザプロパティ(usrconf.properties)のTimerServiceのスレッド数を次のように設定してください。
ejbserver.ejb.timerservice.maxCallbackThreads=<EAR数>※1
J2EEサーバのスレッド数の見積もり
1つのJ2EEサーバ上のアプリケーション呼び出しサービスが使用する総スレッド数は次のとおりです。J2EEサーバのスレッド数を見積もる際に加算してください。
アプリケーション呼び出しサービスが使用する総スレッド数=<WorkManagerの最大スレッド数>※2×<EAR数>※1
J2EEサーバのスレッド数の見積もりについては,マニュアルCosminexus アプリケーションサーバ システム設計ガイドの「J2EEサーバが使用するリソースの見積もり」を参照してください。
データベースコネクション数の見積もり
1つのJ2EEサーバ上のアプリケーション呼び出しサービスが使用するデータベースコネクション数の最大値は次のとおりです。この値は,アプリケーション呼び出しサービスが使用する総スレッド数と同じです。不足しないようDBMSを設定してください。
アプリケーション呼び出しサービスが使用するデータベースコネクション数=<WorkManagerの最大スレッド数>※2×<EAR数>※1
RESTアプリケーションへの同時リクエスト数
個々のref識別子に対応するRESTアプリケーションへの同時リクエスト数は,アプリケーション呼び出しサービスが使用する総スレッド数ではなく,WorkManagerの最大スレッド数※2となります。1つのref識別子またはグループは,同時に1つのEARによって処理されるためです。
RESTアプリケーションへの同時リクエスト数=<WorkManagerの最大スレッド数>※2
- 注※1
-
<EAR数>は,1つのJ2EEサーバにインポートするアプリケーション呼び出しサービス(EAR)の数を示します。
- 注※2
-
<WorkManagerの最大スレッド数>は,J2EEサーバ用ユーザプロパティ(usrconf.properties)のejbserver.commonj.WorkManager.non_daemon_work_threadsの設定値を示します。
(4) 複数インポートする手順
複数のアプリケーション呼び出しサービス(EAR)をインポートする手順は「付録H アプリケーション呼び出しサービスを複数インポートする手順」を参照してください。