Simular cálculos para estimar tiempo de cálculo

Puede simular el cálculo en un modelo del cubo de almacenamiento de bloques de Essbase para calcular cuánto tiempo tardaría un cálculo real. Para ello, debe ejecutar un script de cálculo con SET MSG ONLY y SET NOTICE HIGH, tomar nota de los tiempos de finalización y extrapolar.

Puede simular un cálculo utilizando SET MSG SOLO en un script de cálculo. Un cálculo simulado produce resultados que ayudan a analizar el rendimiento de un cálculo real que se basa en los mismos datos y esquema.

Al ejecutar un cálculo simulado con un comando como SET NOTICE HIGH, puede marcar la cantidad relativa de tiempo que tarda en completarse cada dimensión dispersa. A continuación, al realizar un cálculo real en una o más dimensiones, puede estimar cuánto tiempo tardará el cálculo completo, ya que el tiempo que tarda en ejecutarse un cálculo simulado es proporcional al tiempo que tarda en ejecutarse el cálculo real.

Por ejemplo, si el cálculo comienza a las 9:50:00 a.m., y el primer aviso tiene un registro de hora a las 09:50:10 a.m., y el segundo un registro de hora a las 09:50:20 a.m., sabe que cada parte del cálculo tardó 10 segundos. Si ejecuta un cálculo real sólo en la primera parte y observa que tardó 30 segundos en ejecutarse, sabe que la otra parte también tardará 30 segundos. Si hubiera dos mensajes en total, sabría que el cálculo real tardará aproximadamente 60 segundos (20 / 10 * 30 = 60 segundos).

Utilice los siguientes temas para aprender a realizar un cálculo simulado y a utilizar un cálculo simulado para estimar el tiempo de cálculo.

Simulación de un cálculo

Simule el cálculo en un modelo del cubo de almacenamiento de bloques de Essbase ejecutando un script de cálculo con los comandos SET MSG ONLY y SET NOTICE HIGH, y tomando nota de los registros de hora en el log de la aplicación.

Antes de calcular el tiempo de cálculo, debe realizar un cálculo simulado en un modelo de datos basado en el cubo real. A continuación, puede comprobar el log de la aplicación para ver cuánto tiempo han tardado los cálculos.

Para obtener información sobre dónde encontrar el log de la aplicación, consulte Ubicaciones de entorno en la plataforma Essbase.

Para realizar un cálculo simulado:

  1. Cree un modelo de datos que utilice todas las dimensiones y todos los niveles de detalle sobre los que desea información.
  2. Cargue todos los datos. Este procedimiento sólo calcula los datos cargados en el cubo.
  3. Cree una secuencia de comandos de cálculo con las siguientes entradas:
    SET MSG ONLY;
    SET NOTICE HIGH;
    CALC ALL;

    Si utiliza cálculos dinámicos en dimensiones densas, sustituya el comando CALC ALL por las dimensiones específicas que necesita calcular; por ejemplo, CALC DIM EAST.

    Note:

    Si intenta validar el script, Essbase informa un error. No tenga en cuenta el error.

  4. Ejecute el script.
  5. Busque el primer mensaje de cálculo disperso en el log de la aplicación y anote la hora en el mensaje.
  6. Observe la hora de cada mensaje posterior.
  7. Calcule las dimensiones densas del modelo que no se están calculando dinámicamente:
    CALC DIM (DENSE_DIM1, DENSE_DIM2, …);
  8. Calcule las dimensiones dispersas del modelo:
    CALC DIM (SPARSEDIM1, SPARSEDIM2, …);
  9. Probar los intervalos en los que se producirán los avisos y, a continuación, verificar los resultados de cálculo dispersos. A continuación, puede estimar el tiempo de cálculo.

Consulte los comandos de cálculo:

Tiempo de cálculo estimado

Registre los resultados del cálculo simulado y utilícelos para estimar el tiempo real de cálculo para el cubo de almacenamiento de bloques de Essbase.

Para estimar el tiempo total de cálculo:

  1. Observe las horas de todos los intervalos entre los mensajes de log de la aplicación generados por SET NOTICE HIGH.

    Consulte la siguiente tabla.

  2. Utilice el siguiente cálculo para estimar el tiempo para un cálculo real:

    Tiempo total necesario para el cálculo simulado, dividido por el primer intervalo de aviso de cálculo simulado, multiplicado por el primer intervalo de tiempo de cálculo real.

    Tabla 34-1 Intervalos de ejemplo entre mensajes de log

    Número de aviso de cálculo Intervalo de tiempo de cálculo simulado (en segundos) Intervalo de cálculo de dimensión dispersa (en segundos)

    1

    7

    45

    2

    5

     

    3

    6

     

    4

    3

     

    5

    4

     

    6

    2

     

    7

    6

     

    8

    4

     

    9

    3

     

    10

    3

     

    Tiempo total de cálculo

    43

     

    En este ejemplo, 43 / 7 * 45 = 276,4 segundos, por lo que el cálculo real debería tardar 276,4 segundos.

Factores que afectan la precisión de la estimación

La precisión de las estimaciones basadas en un cálculo simulado de un cubo de almacenamiento de bloques de Essbase puede verse afectada por factores como la densidad de bloques y la estructura del esquema.

El cálculo simulado debe devolver un tiempo preciso de aproximadamente el 5%, si no hay factores clave que causen variaciones.

Cuando estos factores están presentes, esta técnica de estimación predice más de cerca el tiempo de cálculo cuando Essbase alcanza entre el 30 % y el 40 % de los cálculos simulados (entre el 30 % y el 40 % de los mensajes generados por SET NOTICE HIGH).

Variaciones debidas a una cadena de influencias

El uso de SET MSG ONLY como técnica de estimación de tiempo de cálculo debe validarse con respecto a los intervalos CALCNOTICE posteriores. Los resultados de esta técnica de estimación varían debido a la siguiente cadena de influencias:

  1. Los bloques difieren en la densidad de bloques a través del proceso de consolidación real, por lo tanto

  2. La velocidad a la que Essbase escribe bloques en el disco difiere, por lo tanto

  3. El ratio al que se procesan los bloques en la caché difiere, por lo tanto

  4. Los resultados reales pueden diferir del tiempo de cálculo previsto.

Variaciones debidas a la estructura del esquema

Otro factor que puede hacer que los resultados reales difieran significativamente de lo previsto es la estructura del contorno. Los cálculos basados en los intervalos CALCNOTICE suponen un tiempo de proceso equilibrado equitativamente en todo el esquema. Los factores que pueden sesgar este equilibrio incluyen las siguientes situaciones:

  • El modelo contiene una o dos dimensiones ligeras que son grandes en relación con las otras dimensiones ligeras.

  • Las dimensiones más grandes tienen configuraciones de miembros que dan como resultado varias acumulaciones compartidas.

Cambio del esquema según los resultados

Después de haber estimado y analizado un cálculo simulado de un modelo del cubo de almacenamiento de bloques de Essbase, puede cambiar el esquema para mejorar el rendimiento.

De arriba abajo en el esquema, ordene las dimensiones dispersas para crear el menor porcentaje de aumentos en los bloques superiores:

  • Nivel 0 bloques después de la carga completa del modelo: 100,000

  • Bloques de nivel superior después de consolidar solo la dimensión ligera 1: 1.000.000

  • Bloques de nivel superior después de consolidar solo la dimensión ligera 2: 3.000.000

  • Bloques de nivel superior después de consolidar solo la dimensión ligera 3: 10 000 000

  • Bloques de nivel superior después de consolidar solo la dimensión ligera 4: 300 000

  • Bloques de nivel superior después de consolidar solo la dimensión ligera 5: 5.700.000

Por ejemplo:

  • #4 (miembros = 10,000, 4 niveles)

  • #1 (miembros = 500, 2 niveles)

  • #2 (miembros = 100, 4 niveles)

  • #5 (miembros = 10.000, 4 niveles)

  • #3 (miembros = 20, planos)

Utilice el cálculo simulado para generar el recuento de bloques superior. Estos números pueden ser precisos a pesar de los tamaños de dimensión reales como se indica junto a los artículos anteriores.

Atención:

El mayor número de miembros no siempre es un buen predictor.

Considere el uso del modo híbrido. En un cubo de modo híbrido, puede personalizar fácilmente el orden de resolución en lugar de reorganizar el orden dimensional.