Simula calcoli per stima tempo calcolo

È possibile simulare il calcolo su un modello del cubo di memorizzazione a blocchi Essbase per stimare la durata di un calcolo reale. Per fare questo, si esegue uno script di calcolo con SET MSG ONLY e SET NOTICE HIGH, prendere nota dei tempi di completamento ed estrapolare.

È possibile simulare un calcolo utilizzando SET MSG ONLY in uno script di calcolo. Un calcolo simulato produce risultati che consentono di analizzare le prestazioni di un calcolo reale basato sugli stessi dati e struttura.

Eseguendo un calcolo simulato con un comando ad esempio AVVISO SET ALTO, è possibile contrassegnare la quantità di tempo relativa necessaria per il completamento di ogni dimensione sparsa. Quindi, eseguendo un calcolo reale su una o più dimensioni, è possibile stimare la durata del calcolo completo, perché il tempo necessario per l'esecuzione di un calcolo simulato è proporzionale al tempo necessario per l'esecuzione del calcolo effettivo.

Ad esempio, se il calcolo inizia alle 9:50:00 AM e il primo avviso è contrassegnato da un indicatore orario alle 09:50:10 AM e il secondo è contrassegnato da un indicatore orario alle 09:50:20 AM, si sa che ogni parte del calcolo ha richiesto 10 secondi. Se poi si esegue un calcolo reale solo sulla prima porzione e si nota che ci sono voluti 30 secondi per l'esecuzione, si sa che anche l'altra parte richiederà 30 secondi. Se ci fossero due messaggi totali, allora sapresti che il calcolo reale richiederà circa 60 secondi (20 / 10 * 30 = 60 secondi).

Utilizzare gli argomenti seguenti per informazioni su come eseguire un calcolo simulato e su come utilizzare un calcolo simulato per stimare il tempo di calcolo.

Simula un calcolo

Simulare il calcolo su un modello del cubo di memorizzazione a blocchi Essbase eseguendo uno script di calcolo con i comandi SET MSG ONLY e SET NOTICE HIGH e prendendo nota degli indicatori orari nel log dell'applicazione.

Prima di poter stimare il tempo di calcolo, è necessario eseguire un calcolo simulato su un modello dati basato sul cubo effettivo. Quindi è possibile controllare il log dell'applicazione per vedere quanto tempo hanno impiegato i calcoli.

Per informazioni su dove trovare il log dell'applicazione, fare riferimento a Posizioni degli ambienti nella piattaforma Essbase.

Per eseguire un calcolo simulato:

  1. Creare un modello dati che utilizzi tutte le dimensioni e tutti i livelli di dettaglio su cui si desidera ottenere informazioni.
  2. Caricare tutti i dati. Questa procedura calcola solo i dati caricati nel cubo.
  3. Creare uno script del calcolo con le voci riportate di seguito.
    SET MSG ONLY;
    SET NOTICE HIGH;
    CALC ALL;

    Se si utilizzano calcoli dinamici su dimensioni dense, sostituire il comando CALC ALL con le dimensioni specifiche da calcolare, ad esempio CALC DIM EAST.

    Nota

    Se si tenta di convalidare lo script, Essbase segnala un errore. Ignorare l'errore.

  4. Eseguire lo script.
  5. Trovare il primo messaggio di calcolo sparso nel log dell'applicazione e annotare l'ora nel messaggio.
  6. Annotare l'ora per ogni messaggio successivo.
  7. Calcolare le dimensioni dense del modello che non vengono calcolate dinamicamente:
    CALC DIM (DENSE_DIM1, DENSE_DIM2, …);
  8. Calcolare le dimensioni sparse del modello:
    CALC DIM (SPARSEDIM1, SPARSEDIM2, …);
  9. Progettare gli intervalli in base ai quali si verificheranno gli avvisi e quindi verificare i risultati del calcolo con sparsità. È quindi possibile stimare il tempo di calcolo.

Fare riferimento ai comandi di calcolo:

Tempo di calcolo stima

Registrare i risultati del calcolo simulato e utilizzarli per stimare il tempo di calcolo effettivo per il cubo di memorizzazione a blocchi Essbase.

Per stimare il tempo di calcolo totale:

  1. Si noti l'ora di tutti gli intervalli tra i messaggi di log dell'applicazione generati da SET NOTICE HIGH.

    Vedere la tabella riportata di seguito.

  2. Utilizzare il seguente calcolo per stimare il tempo per un calcolo reale:

    Tempo totale richiesto per il calcolo simulato, diviso per il primo intervallo di preavviso di calcolo simulato, moltiplicato per il primo intervallo di tempo di calcolo reale.

    Tabella 34-1 Intervalli di esempio tra i messaggi di log

    Numero avviso calcolo Intervallo tempo calcolo simulato (in secondi) Intervallo calcolo dimensione sparsa (in secondi)

    1

    7

    45

    2

    5

     

    3

    6

     

    4

    3

     

    5

    4

     

    6

    2

     

    7

    6

     

    8

    4

     

    9

    3

     

    10

    3

     

    Tempo di calcolo totale

    43

     

    In questo esempio, 43 / 7 * 45 = 276,4 secondi, quindi il calcolo reale dovrebbe richiedere 276,4 secondi.

Fattori che influenzano l'accuratezza della stima

La precisione delle stime basata su un calcolo simulato di un cubo di memorizzazione a blocchi Essbase può essere influenzata da fattori quali la densità dei blocchi e la struttura del profilo.

Il calcolo simulato dovrebbe restituire un tempo accurato a circa il 5%, se non sono presenti fattori chiave che causano variazioni.

Quando questi fattori sono presenti, questa tecnica di stima prevede più da vicino il tempo di calcolo quando Essbase raggiunge il 30%-40% dei calcoli simulati (30%-40% dei messaggi generati da SET NOTICE HIGH).

Variazioni dovute a una catena di influenze

L'utilizzo di SET MSG ONLY come tecnica di stima del tempo di calcolo deve essere convalidato rispetto agli intervalli CALCNOTICE successivi. I risultati di questa tecnica di stima variano a causa della seguente catena di influenze:

  1. I blocchi differiscono nella densità dei blocchi attraverso il processo di consolidamento reale, quindi

  2. La frequenza con cui Essbase scrive i blocchi sul disco è diversa, pertanto

  3. La velocità di elaborazione dei blocchi nella cache è diversa, pertanto

  4. I risultati effettivi possono differire dal tempo di calcolo previsto.

Variazioni dovute alla struttura del profilo

Un altro fattore che può far divergere significativamente i risultati effettivi dal previsto è la struttura del contorno. I calcoli basati sugli intervalli CALCNOTICE presuppongono un tempo di elaborazione equilibrato in tutto il profilo. I fattori che possono distorcere questo equilibrio includono le seguenti situazioni:

  • Il modello contiene una o due dimensioni sparse di grandi dimensioni rispetto alle altre dimensioni sparse.

  • Le dimensioni più grandi dispongono di configurazioni membro che generano più aggregazioni condivise.

Modifica del profilo in base ai risultati

Dopo aver stimato e analizzato un calcolo simulato di un modello del cubo di memorizzazione a blocchi Essbase, è possibile modificare il profilo per migliorare le prestazioni.

Dall'alto verso il basso nella struttura, ordinare le dimensioni sparse per creare il minor numero di aumenti percentuali nei blocchi superiori:

  • Livello 0 blocchi dopo carico completo del modello: 100.000

  • Blocchi di livello superiore dopo il consolidamento solo della dimensione sparsa 1: 1.000.000

  • Blocchi di livello superiore dopo il consolidamento solo della dimensione sparsa 2: 3.000.000

  • Blocchi di livello superiore dopo il consolidamento solo della dimensione sparsa 3: 10.000.000

  • Blocchi di livello superiore dopo il consolidamento solo della dimensione sparsa 4: 300.000

  • Blocchi di livello superiore dopo il consolidamento solo della dimensione sparsa 5: 5.700.000

Ad esempio:

  • #4 (membri = 10.000, 4 livelli)

  • #1 (membri = 500, 2 livelli)

  • #2 (membri = 100, 4 livelli)

  • #5 (membri = 10.000, 4 livelli)

  • #3 (membri = 20, piatto)

Utilizzare il calcolo simulato per generare il conteggio dei blocchi superiore. Questi numeri possono essere precisi nonostante le dimensioni effettive delle dimensioni, come indicato accanto agli elementi sopra riportati.

Attenzione

Il conteggio più grande dei membri non è sempre un buon predittore.

Considerare la possibilità di utilizzare la modalità ibrida. In un cubo modalità ibrida è possibile personalizzare facilmente l'ordine di soluzione anziché riorganizzare l'ordine dimensionale.