次の方法で共有


マスター プランのパフォーマンスの改善

この記事では、マスター プランのパフォーマンスを改善し、問題のトラブルシューティングをするのに役立つさまざまなオプションについて説明します。 これには、パラメーターと設定、および推奨されるコンフィギュレーションとアクションに関する情報が含まれます。 また、実行時間の長いマスター プラン ジョブがある場合に考慮する必要のある、すべての重要なパラメーターに関する概要も含まれます。

この記事は、システム管理者またはトラブルシューティングをする機能を持つ IT ユーザーを対象としています。 また、ビジネス プランの要件に関係するパラメーターの情報も含むため、生産または供給プランナーも対象にしています。

マスター プランのパフォーマンスの実行時間に影響するため、さまざまなパラメーターを考慮する必要があります。

スレッド数

スレッド数パラメーターによりマスター スケジューリング プロセスを調整して、特定のデータ セット上でのパフォーマンスを向上させることができます。 このパラメーターは、マスター プランを実行するために使用されるスレッドの合計数を指定します。 これによりマスター プラン実行の並列処理が発生し、実行時間を削減できます。

マスター プランの実行ダイアログ ボックスで、スレッド数パラメーターを設定することができます。 このダイアログ ボックスを開くには、マスター プラン > マスター プラン > 実行 > マスター プランに移動するか、またはマスター プラン ワークスペースで実行を選択します。 このパラメーターの最適な値を決定するには、試行錯誤のプロセスに頼る必要があります。 ただし、次の式を使用して初期値を計算することができます。

  • 業種が製造の場合: (スレッド数) = (計画オーダー数 ÷ 1,000)
  • それ以外の場合: (スレッド数) = (品目数 ÷ 1,000)

マスター プラン中に使用されるヘルパーの数は、バッチ サーバー上で許可されている最大スレッド数以下である必要があります。 ヘルパーの数がバッチ サーバーのスレッド数を超えると、追加されたスレッドは動作しません。

メモ

スレッド数パラメーターに 0 (ゼロ) を設定すると、マスター プランの実行時間が増加します。 そのため、常に 0 より大きい値を設定することをお勧めします。

ヘルパー タスク バンドル内のタスク数

タスク バンドル内のタスク数の設定 (つまり、バンドル サイズ) を変更することにより、実行時間を減少させられる場合があります。 この設定により、単一のヘルパーによって一緒に計画される品目の数を制御できます。

マスター プランのパラメーター ページ (マスター プラン> 設定 > マスター プランのパラメーター) の一般タブのパフォーマンス セクションで、タスク バンドル内のタスク数パラメーターを設定することができます。 このパラメーターの最適な値は、データによって異なります。 そのため、1 の値から始めて、試行錯誤のプロセスを使用して、設定に対する最適な値を決定することをお勧めします。

一般に、品目の数が非常に大きい場合 (数十万以内)、タスク数を増やすことをお勧めします。 それ以外の場合は、タスク数を減らす必要があります。 次の特定の業種については、次の推奨事項を考慮してください。

  • 独立した品目が多い小売業および配送業では、品目間に依存関係がないので、ヘルパーを多く使用してください。
  • 部品表 (BOM) および共有サブコンポーネントが多い製造業では、品目間の依存関係によって待ち時間が発生することがあるので、ヘルパーの使用を減らしてください。

ヒント

パフォーマンスに問題がある場合、タスク バンドル内のヘルパー数の設定を 1 に減少させることをお勧めします。 その後、試行錯誤のプロセスを開始し、設定に最適な値を見つけることができます。 一般に、1 つの品目の処理に残りの品目よりも長い時間がかかる場合、パフォーマンスの問題が発生します。 この場合、マスター プランの実行においてステータスが補充である、後続の 2 つのタスクの実行時間が大きく異なることがわかります。 極端な場合、この差が 30 分ほどになることがあります。 各タスクの期間から、タスクの実行にかかる時間を推測することができます。

キャッシュの使用

キャッシュの使用パラメーターによりマスター スケジューリング プロセスを調整して、特定のデータ セット上でのパフォーマンスを向上させることができます。 たとえば、調整により次の結果を達成することができます。

  • より多くのキャッシュを使用すると、データ メモリにより多くのデータが収集されます。 データが後で再使用されることが期待されます。 メモリにデータがある場合、一部のデータベース要求を保存することができます。 ただし、より多くのキャッシュを使用すると、必要なメモリが増加します。
  • キャッシュが少ない場合、より頻繁に同じデータをデータベースからフェッチする必要があります。 また、Application Object Server (AOS) は、プロセス全体において、メモリにデータをあまり保存しません。

それぞれのケースはデータだけでなくハードウェアにも依存するため、どのオプションが良いかを予測することは困難です。 たとえば、キャッシュを小さくするとデータベース サーバーに追加の負荷が発生するため、データベース サーバーがすでに過負荷状態になっている場合、このオプションは正しくない可能性があります。

マスター プランのパラメーター ページ (マスター プラン> 設定 > マスター プランのパラメーター) の一般タブのパフォーマンス セクションで、キャッシュの使用パラメーターを設定することができます。 キャッシュの有効性は、顧客データによって大きく異なります。 たとえば、キャッシュされたデータを必要としない場合、スケジューリング プロセスが終了するまでデータを格納しているなら、メモリを無駄にするだけです。 この場合、キャッシュを少なくコンフィギュレーションするなら、AOS はあまりメモリを必要とせず、サーバー リソースを他のタスクに対して充てることができるため、パフォーマンスが向上する可能性があります。

ヒント

一般に、パラメーターはパフォーマンス強化機能として使用することが意図されているため、キャッシュの使用パラメーターは最大に設定することをお勧めします。 オンプレミスで実行していて、メモリに制限がある場合 (約 2 ギガバイト [GB])、このパラメーターを最小に設定することをお勧めします。

バンドル確定時の注文数

バンドル確定時の注文数パラメーターによって、各スレッドまたはバッチによって一度に処理される注文の合計数が指定できます。 これにより、自動確定プロセスの並列処理が発生します。

マスター プランのパラメーター ページ (マスター プラン> 設定 > マスター プランのパラメーター) の一般タブのパフォーマンス セクションで、バンドル確定時の注文数パラメーターを設定することができます。 自動確定プロセスの並列処理は、一緒に処理する必要がある注文に基づいています。 たとえばこのパラメーターが 50 に設定されている場合、各スレッドまたはバッチのタスクは一度に 50 の注文を取得し、まとめて処理します。 試行錯誤のプロセスを使用して、最適な値を見つけることをお勧めします。 ただし、次の式を使用して初期値を計算することができます。

(バンドルあたりの注文数) = (要求品目の数 ÷ スレッド数)

メモ

バンドル確定時の注文数パラメーターを 0 (ゼロ) に設定すると、自動確定プロセスの並列処理は発生しません。 プロセス全体が 1 つのバッチ タスク上で実行され、累積実行時間が計算されます。 そのため、マスター プランの実行時間は増加します。 この理由により、このパラメーターを 0 (ゼロ) よりも大きい値に設定することをお勧めします。

タイム フェンス

タイム フェンスにより、計算およびその他の要件が、将来どの程度までマスター プランで計算される必要があるかを指定します。 タイム フェンスが長いと、マスター プランの実行にかかる時間が長くなります。 そのため、タイム フェンスは業務要件に従って設定してください。 タイム フェンスの詳細については、マスター プランの概要を参照してください。

操作

タイム フェンスの中で、アクション メッセージ パラメーターを見つけることもできます。 アクション メッセージの計算により、マスター プランの実行時間が長くなります。 アクション メッセージが定期的に分析および適用されない場合 (毎日、毎週など)、マスター プラン実行中の計算を無効にすることを考慮してください。 計算をオフにするには、マスター プラン ページ (マスター プラン > 設定 > 計画 > マスター プラン) で、アクション メッセージ タイム フェンスを 0 (ゼロ) に設定します。 また、すべての補充グループに対してアクション メッセージの設定が無効になっていることを確認してください。

計画

計画の計算により、マスター プランの実行時間が長くなります。 BOM を計画していない場合、また計画中に遅延を供給から需要に反映する必要がない場合は、マスター プラン中の計画の計算を無効にすることを考慮してください。 計算を無効にするには、実行中のマスター プランに対して計画のタイム フェンスを 0 (ゼロ) に設定します。 また、すべての補充グループに対して計画の設定が無効になっていることを確認してください。

重いルーティンの同時実行

マスター プランをスケジュールする場合、他のバッチ ジョブを同時にスケジュールしないでください。 在庫決算などの他の重いルーティンを同時にスケジュールしないように特に注意してください。

セッション ログの確認

システムは、マスター プラン中に実行されるタスクに関する追加情報を収集することができます。 システムでこの情報を収集するには、マスター プランの実行ダイアログ ボックスで処理時間の追跡の設定を有効にします。 収集された情報は、実行のボトルネックを見つけるのに役立ちます。 たとえば、ヘルパー タスク バンドル内のタスク数1 に設定されている場合、実行時間が最も長い品目を識別することができます。 また、ステータスが補充であるさまざまなスレッドの実行時間を比較することができ、各タスクの期間を比較することもできます。

システムのマスター プランの実行を確認するには、次のいずれかの手順に従います。

  • マスター プラン ワークスペースで、ドロップダウン フィールドのマスター プランを選択し、マスター プラン タイルで履歴を選択します。 ジョブを選択し、クイック タブで照会を選択した後、プロセス タスク期間を選択します。
  • マスター プラン ページにおいて、左ウィンドウの計画を選択し、クイック タブの履歴を選択します。 ジョブを選択し、クイック タブで照会を選択した後、プロセス タスク期間を選択します。

セッション ログを確認する場合、次を考慮します。

  • 更新に長い時間はかかりません (一般に、30 分までです)。ただし、これは単一スレッドの場合です。
  • 計画のコピーに長い時間はかかりません (約 1 分かかります)。
  • 通常、自動確定には約 30 分かかります。 ただし、注文数や品目の複雑さに応じて、最大で数時間かかる場合があります。
  • 自動確定補充ほど時間がかかりません。
  • 補充は、その残りに対して最も長い時間がかかります。
  • データおよび BOM の数に応じて、アクションおよび計画メッセージは時間がかかることがあります。

品目のフィルター処理

マスター プランの実行 ダイアログ ボックスで適用されるフィルター処理は、マスター プランの実行期間に影響します。 マスター プラン > マスター プラン > 実行 > マスター プランに移動するか、またはマスター プラン ワークスペースで実行を選択します。 実行から品目を除外するには、(品目番号ではなく) 品目のライフサイクルの状態でフィルター処理することをお勧めします。 ライフサイクルの状態でフィルター処理する場合、品目番号でフィルター処理する場合よりも更新プロセスに時間がかかりません。

直納品目で自動的にフィルター処理する

マスター プランの実行時間を改善するため、直納品目のみを含めるように選択できます。 このフィルターは、対象に含めるフィールドに他のフィルターが適用されていない完全なマスター プラン実行に対してのみ使用できます。 フィルターを使用したマスター プランの実行では、直納品目で自動的にフィルター処理するの設定は無視されます。

直納品目で自動的にフィルター処理するフィールドは、マスター プラン パラメーター ページにあり、前処理と後処理の両方の設定で使用できます。

前処理

前処理: 直納品目で自動的にフィルター処理するパラメーターを使用すると、マスター プランの前処理フェーズには、次の条件の少なくとも 1 つを満たす品目のみが含まれるようになります。

  • この品目には、発注書、販売注文、見積、移動オーダー、製造オーダーなど、予測される入庫または出庫があります。
  • 品目には、安全在庫 (最小手持在庫) がある品目補充があります。
  • 品目には、今日以降の需要予測があります。
  • 品目には、今日以降の供給予測があります。
  • 品目には、まだ作成されていないコール センター モジュールからの連続行が含まれます。

メモ

利用可能な現物手持在庫がある品目には、その品目に対する需要がないため、要求トランザクションは表示されません。

後処理

後処理: 直納品目で自動的にフィルター処理するオプションは、補充グループで 部品表バージョン要件を設定した場合にのみ関連付けられます。 それ以外の場合は、このパラメーターを有効にする必要はありません。

補充ステップを開始する前に、補充設定部品表バージョン要求が有効になっている品目が処理されるプレ補充ステップがあります。 これは、必要な BOM バージョンの品目が計画されていることを確認するために行われます。 前処理中に需要があると見なされた品目には需要がないため、プランの実行から除外する必要があります。

パフォーマンスのチェックリストの概要

  • スレッド数0 (ゼロ) より大きい値に設定します。
  • ヘルパー タスク バンドル内のタスク数0 (ゼロ) より大きい値に設定します。 (この記事の前の部分で示した式を使用します。)
  • キャッシュの使用 – システムのメモリが不足しない限り最大に設定します。
  • バンドル確定時の注文数0 (ゼロ) より大きい値に設定します。 (この記事の前の部分で示した式を使用します。)
  • タイム フェンス – 業務上の必要に合わせて調整します。
  • アクションと計画 – 使用しない場合、アクションおよび計画を無効にします。
  • 重いルーティンの同時実行 – マスター プランと他の重いルーティンを一緒に実行しないでください。
  • セッション ログの確認。
  • 品目のフィルター処理 – ライフサイクルの状態を使用して、マスター プランの実行から品目を除外します。 (品目番号は使用しないでください。)