为什么业务规则的执行时间会变化?

用户经常会注意到,在不同的环境中,或与不同的运行时提示一起使用时,业务规则的执行时间会变化。执行时间的差异总是与规则处理的数据量(块数、单元格数等)关联。

Calculation Manager 中,在对 BSO 多维数据集执行完业务规则后,系统会在新选项卡中显示日志消息。您可以将这些消息导出到 CSV 文件以便更轻松地进行解析和比较。日志消息包含 Calculator Information Message 部分,里面包含类似下文的信息

Total Block Created: [XXXX] Blocks
Sparse Calculations: [XXXX] Writes and [XXXX] Reads
Dense Calculations: [XXXX] Writes and [XXXX] Reads
Sparse Calculations: [XXXX] Cells
Dense Calculations: [XXXX] Cells

在此示例中,[XXXX] 表示数字,例如 1.2600e+02。要将 [XXXX] 转换为指示对块和单元格执行的计算和读写操作次数的实数:

  1. 使用 Microsoft Excel 打开包含来自一个环境或规则的日志消息的 CSV 文件。
  2. 找到 Calculator Information Message 部分,例如:
    Total Block Created: [0.0000e+00] Blocks
    Sparse Calculations: [2.7760e+03] Writes and [4.4136e+04] Reads
    Dense Calculations: [0.0000e+00] Writes and [0.0000e+00] Reads
    Sparse Calculations: [1.1561e+08] Cells
    Dense Calculations: [0.0000e+00] Cells
  3. Calculator Information Message 部分的每个值复制到相邻的空单元格,然后将单元格格式更改为“数值”。
    重新设置格式的 Calculator Information Message

    为这些单元格重新设置格式后,Sparse Calculations: = [2.7760e+03] Writes and = [4.4136e+04] Reads 行中的值 2.7760e+034.4136e+04 将转换为实数 2776.00044136.00

  4. 重复上述步骤以获取在您要比较性能的环境或规则中对块和单元格执行的计算和读写操作次数。
  5. 比较执行的计算和读写操作次数以确定性能出现差异的原因。

    例如,由于运行时提示发生更改,同一处理执行两次操作时,同一规则可能需要处理更多块和单元格。通常,如果计算处理的块和单元格增加,计算运行时间可能就会增加。同样,运行涉及较大的读取或写入值的计算所需时间比运行涉及较小值的计算长。