大量のジョブが一度に実行されるようなスケジュールの場合、システム負荷を抑え、メモリ/リソース不足を起こさないよう、キュー内のジョブの多重度を調整します。
他にも、例えば、多数の支店や部門から一度に多くのファイルやイベントを受信し、その受信を待ち合わせて業務を起動する運用の場合、時刻起動ではないため起動時刻の調整が一切できません。一度に多数のファイルやイベントを受信する可能性があるので、多重度が設定されていないと一度に大量の業務が実行されてしまいます。このような場合にも多重度を調整することで、負荷を一定に抑えることができます。
以下に、多重度を調整する例を示します。
なお、多重度については、運用中に動的に変更することもできます。
概要
業務の種別に応じて3種類の業務スケジュールがあります。
いずれの業務も、月曜日の朝9時に一斉にジョブを開始する運用となっています。
上記のような運用を行う場合、単純にジョブの実行開始時刻をスケジュールしただけでは、毎週月曜日にシステムの負荷が一時的にかなり増加してしまいます。
このような場合には、キュー内のジョブの多重度を利用して調整するよう設計します。
調整方法
それぞれの業務の種別ごとにキューを作成し、各キューに多重度を設定します。
多重度の設定を行った場合、以下のような効果があります。
1つのキューで一度に実行できるジョブの数が制限されるので、負荷が一定に抑えられます
業務ごとに複数のキューに分けて多重度を設定すると、いずれかの業務ジョブが大量に実行された場合にも、他の業務ジョブが実行できなくなるといった影響を抑えることができます
同時に実行されるジョブの数をジョブのスケジュール時に意識しなくて済むため、業務の構築が容易になります
以下に、調整方法を示します。
システムの多重度を“20”に設定し、それぞれのキューの多重度は以下のように設定します。
業務名 | キューの多重度 |
---|---|
総務 | 10個 |
営業 | 15個 |
物流 | 10個 |
これにより、下図に示すように、1つの業務で同時実行されるジョブの数を一定に抑え、ある業務のジョブだけが大量に実行され、他の業務のジョブが実行できなくなる状況を防ぐことができます。
なお、各キューの多重度を高めに設定し、システム全体の多重度を一定値に抑えると、システムのリソース(ジョブ実行時に利用する資源を指します)をより効率的に利用することができます。
以下にその例を示します。
上の例では、システム全体の多重度が20個と設定した場合に、各キューに同時に以下の数のジョブを依頼しています。
キュー1:15個
キュー2:1個
キュー3:4個
左側の例は、多重度を低めに設定した場合です。この場合、システム全体では20個までのジョブが実行可能ですが、実際には各キューの多重度の制御を受けてしまうために、キュー2とキュー3の空きが効率的に利用できず、全部で15個のジョブしか実行できません。
右側の例は、多重度を高めに設定した場合です。この場合、各キューの多重度にある程度余裕をもたせてあるため、キュー2とキュー3の空きを利用して、キュー1では15個すべてのジョブを実行させることができます。システム全体でも20個のジョブを実行させることができます。
このように、いずれかのキューに余裕ができたときには、繁忙業務のジョブを効率的に実行できるよう、多重度を低くしすぎないように考慮する必要があります。
なお、多重度は以下で設定できます。
システム全体の多重度
[運用情報の定義]ウィンドウ-[運用制御]シートの、[同時実行可能なジョブ数を制限する]の[ジョブの多重度]で指定
キューの多重度
[キューの編集]ウィンドウで同時実行可能なジョブ数を制限する]をチェックし、[ジョブの多重度]で指定
設定手順の詳細については、“Systemwalker Operation Manager 導入ガイド”の“運用情報の定義”を参照してください。