¿Por qué varía el tiempo de ejecución de una regla de negocio?

Con bastante frecuencia, los usuarios se percatan de que el tiempo de ejecución de una regla de negocio varía de un entorno a otro con distintas peticiones de datos en tiempo de ejecución. La diferencia en el tiempo de ejecución siempre está asociada a la cantidad de datos (número de bloques, celdas, etc.) que está procesando la regla.

En Calculation Manager, tras ejecutar una regla de negocio en un cubo de BSO, aparecen mensajes de registro en un separador nuevo. Puede exportar estos mensajes a un archivo CSV para facilitar el análisis y la comparación. Los mensajes de log contienen una sección Calculator Information Message con información similar a la siguiente

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

En este ejemplo, [XXXX] indica un número como 1.2600e+02. Para convertir [XXXX] en números reales que indican los cálculos y las operaciones de lectura o escritura realizadas en bloques y celdas:

  1. Con Microsoft Excel, abra el archivo CSV que contenga los mensajes de registro de un entorno o una regla.
  2. Busque la sección Calculator Information Message, por ejemplo:
    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. Copie cada valor de la sección Calculator Information Message en celdas vacías adyacentes y, a continuación, cambie el formato de celda a Número.
    Sección Calculator Information Message con el formato cambiado

    Al volver a dar formato a las celdas, los valores 2.7760e+03 y 4.4136e+04 de la línea Sparse Calculations: = [2.7760e+03] Writes and = [4.4136e+04] Reads se convierten en los números reales 2776.000 y 44136.00.

  4. Repita los pasos anteriores para obtener el número de cálculos y operaciones de lectura o escritura realizadas en bloques y celdas en el entorno o la regla con la que se realiza la comparación del rendimiento.
  5. Compare los cálculos y las operaciones de lectura o escritura realizadas para determinar el motivo para la diferencia en el rendimiento.

    Debido a un cambio en una petición de datos en tiempo de ejecución, por ejemplo, la misma regla puede tener que gestionar más bloques y celdas durante dos ejecuciones en el mismo proceso. Por lo general, un cálculo puede tardar más tiempo en ejecutarse si implica más bloques y celdas. Del mismo modo, los cálculos que impliquen un valor de lectura o escritura más grande tardan más en ejecutarse que los que tengan valores inferiores.