付録C.2 チューニング項目と効果
アプリケーション呼び出しサービスのスループットを向上させるチューニング項目を次に示します。
-
アプリケーション呼び出しを行うスレッド数を増やす
アプリケーション呼び出しを行うスレッド数を増やすには,WorkManagerの最大スレッド数,またはアプリケーション呼び出しサービスの稼働数を増やします。
-
アプリケーション呼び出しを行うスレッドの利用効率を上げる
アプリケーション呼び出しを行うスレッドの利用効率を上げるには,アプリケーション呼び出しグループを登録します。
(1) WorkManagerの最大スレッド数を増やす
単位時間当たりのアプリケーション呼び出し対象の作業数が多い場合,WorkManagerの最大スレッド数を増やすことで,スループットを向上できます。
次に示す条件に該当するケースを例として,WorkManagerの最大スレッド数の増加によるスループットの向上の仕組みについて説明します。
-
アプリケーション呼び出しの実行間隔ごとに10件の作業が発生している。
-
各作業のRESTアプリケーション呼び出しに平均1秒ずつ掛かっている。
[説明]
- WorkManagerの最大スレッド数が少ない場合:
-
WorkManagerの最大スレッド数が2の場合は,アプリケーション呼び出しの完了までに約5秒掛かります。
- WorkManagerの最大スレッド数が多い場合:
-
WorkManagerの最大スレッド数を4に倍増させると,WorkManagerの最大スレッド数が2の場合の約半分の時間で,アプリケーション呼び出しが完了します。
(2) アプリケーション呼び出しサービスの稼働数を増やす
次に示すどちらかに該当する場合,アプリケーション呼び出しサービスを複数稼働することで,スループットを向上できます。
-
ref識別子の数が多い。
-
単位時間当たりのアプリケーション呼び出し対象の作業数が多い。
次に示す図のケースを例として,アプリケーション呼び出しサービスの稼働数の増加によるスループットの向上の仕組みについて説明します。
[説明]
- アプリケーション呼び出しサービスが1つの場合:
-
アプリケーション呼び出しサービス01が,ref識別子「Ref1」~「Ref3」すべてのRESTアプリケーションを,順番に1つずつ呼び出します。
- アプリケーション呼び出しサービスが3つの場合:
-
アプリケーション呼び出しサービス01がref識別子「Ref1」のRESTアプリケーションを呼び出している間に,アプリケーション呼び出しサービス02,03が,それぞれref識別子「Ref2」「Ref3」を同時に処理します。これによって,全体のスループットを向上できます。
- ヒント
-
アプリケーション呼び出しサービスの稼働数を増やす設定方法については,「付録C.6 チューニングの設定方法」の「(2) アプリケーション呼び出しサービスの稼働数の設定」を参照してください。
(3) アプリケーション呼び出しグループを登録する
ref識別子の数が多い場合,アプリケーション呼び出しグループを登録することで,アプリケーション呼び出しを行うスレッドの利用効率が上がります。その結果,スループットを向上できます。
アプリケーション呼び出しグループを登録する場合,次の指針に従うことを推奨します。
-
アプリケーション呼び出し制御情報の実行間隔と障害復旧間隔の差が少ないref識別子ごとに,グループを分ける。
-
単位時間当たりに発生する各グループの作業数の差が少なくなるように,グループを分ける。
アプリケーション呼び出しグループの登録によるスループットの向上の仕組みを,次の図に示します。
- ヒント
-
アプリケーション呼び出しグループを登録する設定方法については,「付録C.6 チューニングの設定方法」の「(3) アプリケーション呼び出しグループの設定」を参照してください。