スケジューラコンポーネントは、Identity Manager のタスクのスケジュール作成を管理します。
ここでは、以下を初めとするスケジューラのパフォーマンスを向上させるための推奨方法を説明します。
次の TaskDefinition オプションによって、タスク完了後のスケジューラによるタスクの処理の仕方が決まります。
resultLimit — タスク完了後のタスクの実行期間を秒単位で制御します。デフォルト設定は、タスクごとに異なります。0 を設定すると、タスクは完了後に即時削除されます。
resultOption — タスクの繰り返しインスタンスが開始されたときに行うべき動作を制御します。デフォルト設定は delete で、余分なタスクのインスタンスが削除されます。
これらのデフォルト設定は、完了したスケジューラのタスクの有効期間を短縮することでメモリーを最適化できるようにするためのものです。これらの設定を変更せざるをえない事情がない限り、デフォルトのままにしておいてください。
正常に完了したタスクを即時削除するとはいえ、デバッグできるまでエラーを含むタスクを残しておくには、次を実行することもできます。
resultLimit 値を、問題をデバッグするのに十分な期間に設定して、条件付きで完了したタスクを削除します。
WorkflowServices 呼び出し後に、実行時にエラーが何も報告さければ (WF_ACTION_ERROR is <null/> など)、resultLimit を 0 (または 小さい値) に設定します。
「サーバー設定の編集」ページで次の設定を調整すると、スケジューラのパフォーマンスを向上できることがあります。
「最大同時タスク数」。スケジューラが一度に実行できるタスクの最大数を指定します。
並列タスクの最大数の設定の許容値よりも多くのタスクが実行できる場合は、それ以上のタスクは空きができるまで、または別のサーバーで実行されるまで待機しなければなりません。
メモリーが足りなくなり CPU 時間を共有するほど多すぎるタスクがスワップしていると、オーバーヘッドによってパフォーマンス速度が低下します。また、最大数を小さく設定しすぎても、アイドル時間が増えます。スケジューラは、待機中のタスクが 1 分以内に実行できるように使用可能なタスクを毎分チェックします。
デフォルトの並列タスクの最大数設定 (100) で通常は十分です。配備で実行中のタスクを基に、もしくは配備が完了した後の実行時間の動作を調べて、この設定の増減を調整するかどうかを決定します。
場合によっては、このスケジューラを一時停止したり無効に設定しても構いません。たとえば、エンドユーザーインタフェースの処理専用にするサーバーがある場合、スケジューラを無効にすれば、そのサーバーでタスクの実行が行われないようになります。そのサーバーは、エンドユーザーインタフェース専用になり、ほかのサーバーに実行するよう開始したタスクが格納されます。
「タスク指定」。このサーバーで実行できるタスク一式を指定します。
この「タスク指定」設定を使用すると、サーバーで実行できるタスクをきめ細かく制御できるようになります。個別にタスクを制限することも、サーバー設定で制限することも可能です。
配備はそれぞれ異なるため、汎用的で最適な設定を推奨することはできません。スケジューラの設定は、配備環境ごとに個別に調整する必要があります。
管理者インタフェースにログインします。
「設定」->「サーバー」->「スケジューラ」タブの順にクリックします。
「サーバー設定の編集」ページが表示されたら、必要に応じて設定を調整します。
詳細は、「サーバーのデフォルト設定の編集」を参照してください。