改善主计划性能

本文介绍可帮助您提高主计划绩效或诊断问题的各种选项。 包括有关参数、设置,以及建议的配置和操作的信息。 另外还包括需要执行长时间运行的主计划作业时应考虑的所有重要参数的摘要。

本文面向有能力进行故障诊断的系统管理员或 IT 用户。 也面向生产或供应规划员,因为其中包含有关与业务计划需求有关的参数的信息。

许多参数会影响主计划的运行时间,因此应加以注意。

线程数

可通过线程数参数调整主计划编制流程,以便在使用特定数据集时改善效果。 此参数指定将用于运行主计划的线程总数。 它会导致主计划运行并行化,这有助于缩短运行时间。

可设置主计划运行对话框中的线程数参数。 若要打开此对话框,请转到 主计划 > 主计划 > 运行 > 主计划,或在主计划工作区中选择运行。 若要确定此参数的最佳值,必须依赖试错流程。 但是,可使用以下公式计算初始值:

  • 如果您所在的行业是制造业: (线程数)=(计划订单数÷ 1,000)
  • 否则: (线程数)=(项目数 ÷ 1,000)

主计划期间使用的帮助程序数必须小于或等于批处理服务器上允许的最大线程数。 如果帮助程序数超过了批处理服务器上的线程数,多余线程不起任何作用。

注释

线程数参数设置为 0(零)会增加主计划运行时间。 因此,建议设置的值始终大于 0。

帮助程序任务捆绑中的任务数

通过更改任务捆绑中的任务数设置(即捆绑大小),可能能够缩短运行时间。 此设置控制一个帮助程序一起计划的物料的数量。

可设置主计划参数页(主计划 > 设置 > 主计划参数)的常规选项卡上绩效部分中的任务捆绑中的任务数参数。 此参数的最佳值取决于您的数据。 因此,建议您从值 1 开始,然后通过试错流程确定您的设置的最佳值。

我们通常建议您在物料数极大(成千上万)时增加任务数。 否则,应减少任务数。 对于以下特定行业,请考虑以下建议:

  • 在零售和配送行业,独立物料很多,请使用大量帮助程序,因为物料之间不存在依赖关系。
  • 在制造行业,物料清单 (BOM) 和共用子组件很多,请使用较少帮助程序,因为物料之间的依赖关系可能会导致等待时间。

提示

如果遇到了性能问题,建议将任务捆绑中的帮助程序数设置减少为 1。 然后可以开始执行试错流程,以便找到您的设置的最佳值。 一般来说,一个物料的处理时间比其余物料长时,通常会出现性能问题。 在此情况下,您会发现主计划运行中两个状态为覆盖的后续任务所用运行时间量相差很大。 极端情况下,相差可能高达 30 分钟。 可以通过查看每个任务的持续时间推导运行任务所用时间量。

暂存区的使用

可通过暂存区的使用参数调整主计划编制流程,以便在使用特定数据集时效果更出色。 例如,可通过调整此参数实现以下结果:

  • 完成的缓存越多,数据存储器中收集的数据越多。 预计以后会再次使用这些数据。 如果数据在存储器中,可以节约一些数据库请求。 但是,完成的缓存越多,需要的存储器越大。
  • 如果完成的缓存越少,可能必须从数据库访存相同数据的频率越高。 此外,应用程序对象服务器 (AOS) 在整个流程中存储到内存中的数据越少。

很难预测哪个选项更好,因为每种情况都不仅依赖数据,还依赖硬件。 例如,因为缓存越少,对数据库服务器造成的负载就越大,所以如果数据库服务器已过载,则不太适合使用该选项。

可设置主计划参数页(主计划 > 设置 > 主计划参数)的常规选项卡上绩效部分中的暂存区的使用参数。 缓存的效果很大程度依赖于客户数据。 例如,如果从不需要缓存数据,则将数据存储到计划编制流程结束为止只会浪费内存。 在此情况下,如果配置的缓存较少,性能可能上升,因为 AOS 需要的内存较少,并且会释放服务器资源供其他任务使用。

提示

总之,建议将暂存区的使用参数设置为最大值,因为该参数应该是一项性能增强功能。 如果在本地部署上运行,并且内存有限(大约 2 [GB]),则建议将此参数设置为最小值

固定捆绑销售中的订单数

固定捆绑销售中的订单数参数指定每个线程/批处理同时处理的订单总数。 这会导致自动确认流程并行化。

可设置主计划参数页(主计划 > 设置 > 主计划参数)的常规选项卡上绩效部分中的固定捆绑销售中的订单数参数。 自动确认流程的并行化基于必须一起处理的订单。 例如,如果此参数设置为 50,则每个线程或批处理一次性选取 50 个订单并一起处理。 建议通过试错流程找到最佳值。 但是,可使用以下公式计算初始值:

(每个捆绑销售的订单数)=(需求物料数 ÷ 线程数)

注释

如果将固定捆绑销售中的订单数参数设置为 0(零),则不会并行化自动确认流程。 整个流程将对一个批处理任务运行,并且会具有累计运行时间。 因此,主计划的运行时间将增加。 所以建议您将此参数设置为大于 0(零)的值。

时限

时限指定主计划计算将来多长时间范围内的计算和其他需求。 时限越大,主计划的运行时间越久。 因此,请根据您的业务要求设置时限。 有关时限的详细信息,请参阅主计划概览

变动

还可以在时限中找到行动消息参数。 计算行动消息会导致主计划的运行时间更长。 如果不定期(每天、每周等)分析和采用行动消息,请考虑在主计划运行期间关闭计算。 若要关闭计算,请在主计划页(主计划 > 设置 > 计划 > 主计划)上,将行动消息时限设置为 0(零)。 并确保为所有覆盖范围组关闭行动消息设置。

预期

计算预期会导致主计划的运行时间更长。 如果不计划 BOM,或者计划期间不必将延迟从供应传播到需求,请考虑在主计划期间关闭预期计算。 若要关闭这些计算,请将正在运行的主计划的预期时限设置为 0(零)。 并确保为所有覆盖范围组关闭预期设置。

一次一个重大例程

安排主计划时,请勿同时安排其他任何批处理作业。 请务必小心,不要同时安排其他任何重大例程,如库存结转。

检查会话日志

系统可收集有关主计划期间运行的任务的其他信息。 若要让系统收集此信息,请开启主计划运行对话框中的跟踪处理时间设置。 收集的信息可帮助您找到运行中的瓶颈。 例如,如果帮助程序任务捆绑中的任务数参数设置为 1,则可识别运行时间最长的物料。 也可以比较状态为覆盖的大量线程的运行时间,以及比较每个任务的持续时间。

若要查看系统的主计划运行,请执行以下步骤之一。

  • 主计划工作区的下拉字段中选择一个主计划,然后在主计划磁贴中选择历史记录。 选择一个作业,在快速选项卡上选择查询,然后选择流程任务持续时间
  • 主计划页的左窗格中选择一个计划,然后在快速选项卡上选择历史记录。 选择一个作业,在快速选项卡上选择查询,然后选择流程任务持续时间

查看会话日志时,请注意以下几点:

  • 更新 应该不会花费很长时间(通常最多需要 30 分钟),但是它是单线程的。
  • 复制计划 应该不会花费很长时间(大约需要一分钟)。
  • 自动确认 通常需要大约 30 分钟。 但是,可以高达数小时,具体取决于订单数量和物料的复杂程度。
  • 自动确认 所需的时间应少于 覆盖范围
  • 相对于其他地区,覆盖范围 应该花费最长的时间。
  • 行动未来消息 可能需要较长时间,具体取决于物料清单的数据和数量。

筛选物料

主计划运行对话框中的筛选器会影响主计划运行的持续时间。 转到 主计划 > 主计划 > 运行 > 主计划,或在主计划工作区中选择运行。 若要从运行中排除物料,建议按物料的生命周期状态(而不是按物料编号)进行筛选。 按生命周期状态筛选所用时间比按物料编号筛选所用时间短。

根据直接需求按物料自动筛选

为了缩短主计划运行时间,您可以选择仅包含有直接需求的物料。 整个主计划运行只能使用此筛选器,要包括的记录字段不应用其他筛选器。 具有筛选器的主计划运行将忽略根据直接需求按物料自动筛选设置。

根据直接需求按物料自动筛选字段位于主计划参数页,可以与预处理和后处理设置一起使用。

预处理

预处理: 根据直接需求按物料自动筛选参数确保主计划的预处理阶段仅包含至少满足以下条件之一的物料:

  • 物料具有按预期的收货或发货,例如采购订单、销售订单、报价单、转移单或生产订单。
  • 物料具有设有安全存货的物料覆盖范围(最小现有库存量)。
  • 物料存在今天以后的预测需求。
  • 物料存在今天以后的预测供应。
  • 物料包括尚未创建的呼叫中心模块的所有连续性行。

注释

具有实际可用现有库存量的物料不会显示需求交易记录,因为没有针对物料的需求。

后处理

后处理: 根据直接需求按物料自动筛选选项仅在您在覆盖范围组中设置了物料清单版本要求时才有作用。 否则,您无需启用此参数。

在覆盖步骤开始之前,有一个预覆盖步骤,在此步骤中,覆盖范围设置物料清单版本要求启用的物料将被重新处理。 这样做是为了确保已计划所需物料清单版本的物料。 在预处理期间被认为有需求的物料不再有需求,因此应将其从计划运行中排除。

绩效核对清单摘要

  • 线程 数–设置为大 于 0 (零)的值。
  • 帮助程序任务捆绑包 中的任务数 - 设置为大 于 0 (零)的值。 (请使用本文前面提供的公式。)
  • 缓存 的使用– 设置为最大 值,除非您的系统内存不足。
  • 确认捆绑 中的订单数 - 设置为大 于 0 (零)的值。 (请使用本文前面提供的公式。)
  • 时限 –根据您的业务需求进行调整。
  • 操作和未来 –如果您不使用操作和未来,则禁用它们。
  • 一次 一个繁重的例行公事–不要将主计划与任何其他繁重的例行公事一起运行。
  • 查看会话日志。
  • 物料 筛选–使用生命周期状态从主计划运行中排除物料。 (请勿使用物料编号。)