付録H.3 呼び出しの流量制御
アプリケーション呼び出しサービスでは,呼び出す作業数を制御して,RESTアプリケーションの負荷を抑えることができます。呼び出す作業数は,最大作業件数およびWorkManagerの最大スレッド数の設定によって制御できます。
- 〈この項の構成〉
(1) 最大作業件数
最大作業件数は,1回の実行間隔内で呼び出し処理を実行する作業件数の最大値です。業務処理のピーク時に生成される作業数が増大しても,最大作業件数を制限して,RESTアプリケーションの負荷増加を抑えることができます。1回の実行間隔内で最大作業件数を超える作業が存在した場合,超えた分の作業は,次回の実行間隔の経過後に呼び出し処理が実行されます。
最大作業件数は,ref識別子単位,またはグループ単位で設定できます。アプリケーション呼び出し制御情報の「最大作業件数(WorkItemMax)」に設定してください。詳細については,マニュアル「uCosminexus Service Coordinator Interactive Workflow コマンド」の「ciwmngap(アプリケーション呼び出し制御情報の管理)」を参照してください。
(2) WorkManagerの最大スレッド数
WorkManagerの最大スレッド数は,呼び出し処理を並列で同時実行するためのスレッド数の最大値です。WorkManagerの最大スレッド数を制限して,RESTアプリケーションの負荷増加を抑えることができます。
WorkManagerの最大スレッド数は,J2EEサーバ単位で設定できます。J2EEサーバの設定ファイルに指定してください。詳細については,「6.2.8(3) WorkManagerの最大スレッド数を変更する」を参照してください。
(3) 実行間隔,最大作業件数,WorkManagerの最大スレッド数の関係
実行間隔,最大作業件数,WorkManagerの最大スレッド数の関係を次の図に示します。
|
|
- <説明>
-
図の例では,Ref1の最大作業件数が50,WorkManagerの最大スレッド数が10と設定されています。
このとき,Ref1の実行間隔内で52件の作業が作業テーブルに登録されたとすると,呼び出し対象となる作業の件数は最大作業件数の50件となります。50件を超えた作業2件は,次回の実行間隔の経過後の呼び出し対象になります。
呼び出し対象となる50件の作業に対しては,WorkManagerの最大スレッド数10のスレッドで同時に呼び出し処理を実行します。
(4) RESTアプリケーション呼び出しの流量制御
実行間隔,最大作業件数,WorkManagerの最大スレッド数によるRESTアプリケーションの流量制御(負荷増加の抑制)を次の図に示します。
|
|
- <説明>
-
図の例では,Ref1の実行間隔が300秒,最大作業件数が50件と設定され,グループA(Ref2,Ref3)の実行間隔が10秒,最大作業件数が20件と設定されています。また,WorkManagerの最大スレッド数が10と設定されています。
このとき,RESTアプリケーション(Ref1)へのリクエストは300秒ごとに50件行われ,同時リクエスト数は最大10となります。また,グループAのRESTアプリケーション(Ref2,Ref3)へのリクエストは10秒ごとに20件行われ,同時リクエスト数は最大10となります。