Le utility di Ottimizza cubo Baseline, Cache di calcolo, Ordine di soluzione e Distribuzione dati facilitano la regolazione dei cubi e migliorano le prestazioni.
Utility | Dati restituiti |
---|---|
Baseline | Metriche delle prestazioni del cubo |
Ordine di soluzione | Ordine di soluzione dei membri nel cubo |
Cache di calcolo | Dati che consentono di scegliere il valore ottimale della cache della calcolatrice per il cubo |
Distribuzione dati | Dati che consentono di scegliere le dimensioni da rendere sparse e quelle da rendere dense |
Le metriche monitorate dalla utility Baseline mostrano le prestazioni del sistema. Utilizzare queste metriche per determinare le prestazioni della utility Baseline e quindi per valutare i vantaggi delle successive ottimizzazioni che verranno effettuate.
Prima di utilizzare questa utility, è necessario creare una cartella di lavoro dell'applicazione, inclusi il profilo, le impostazioni di configurazione, gli script di calcolo e le query che si desidera includere nel cubo.
L'esecuzione della query determina la generazione del cubo, il caricamento dei file di dati selezionati, l'esecuzione degli script di calcolo e delle query contenute nella cartella di lavoro dell'applicazione. È importante disporre di un campione rappresentativo di query eseguite dagli utenti.
La utility Baseline crea un dashboard dei processi operativi e dell'applicazione, che possono risultare utili per la progettazione e l'ottimizzazione del cubo. Man mano che si implementano le modifiche e si genera di nuovo il cubo, l'utility Baseline consente di confrontare le iterazioni delle modifiche del cubo. Nella scheda Essbase.Stats.Baseline della cartella di lavoro dell'applicazione, la utility Baseline aggiunge le nuove tabelle con i dati più recenti di ciascuna iterazione.
Preparazione all'esecuzione della utility Baseline di Ottimizza cubo in un cubo in modalità ibrida
Prima di eseguire la utility Baseline, completare i task riportati di seguito.
Per creare una cartella di lavoro dell'applicazione, è possibile scaricare una cartella di lavoro dell'applicazione di esempio, quindi modificarla in base alle esigenze. Vedere Esplorare i modelli della galleria.
Se i fogli di query includono metadati di un altro server, in Cube Designer viene visualizzata un'avvertenza e l'elaborazione viene sospesa fino a quando non si risponde.
Impostazione | Valore |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Eseguire la utility Baseline di Ottimizza cubo in un cubo in modalità ibrida
La utility Baseline identifica le dimensioni dense e sparse, la dimensione dei dati (dimensioni dei file PAG e IND), la dimensione del blocco e le dimensioni della cache di dati, dell'indice e della calcolatrice. Inoltre, fornisce metriche per il caricamento dei dati, i calcoli e le query.
Per eseguire l'utilità Baseline, effettuare le operazioni riportate di seguito.
I fogli di lavoro di calcolo vengono eseguiti nell'ordine in cui appaiono nella cartella di lavoro dell'applicazione. Ottimizza cubo ignora la proprietà Esegui calcolo nei fogli di lavoro di calcolo.
In Ottimizza cubo sono supportati solo gli script di calcolo che possono essere eseguiti dai job. Non è possibile eseguire gli script di calcolo che dipendono dal contesto corrente della griglia di Smart View (ad esempio, i calcoli definiti utilizzando la funzione @GRIDTUPLES o quelli che utilizzano le variabili di sostituzione in runtime, definite con le tag <svLaunch>).
Se non si dispone di un foglio dati nella cartella di lavoro dell'applicazione, verrà chiesto di selezionare i file di dati e delle regole dal catalogo. È consigliabile memorizzare i file di dati e delle regole in una directory condivisa nel catalogo in modo che i file non andranno persi quando verrà generato di nuovo il cubo.
La generazione del cubo richiederà del tempo.
Il foglio Essbase.Stats.Baseline viene generato da Essbase e aggiunto alla cartella di lavoro.
La quantità verrà ridotta modificando una dimensione dinamica in una dimensione memorizzata.
Per ridurre il numero di esecuzioni delle formule e migliorare le prestazioni, esaminare gli ordini di soluzione dei membri calcolati e apportare le modifiche oppure prendere in considerazione la possibilità di memorizzare un membro calcolato contenente formule.
La utility Ordine di soluzione fornisce una rappresentazione visiva del flusso dell'ordine di soluzione utilizzato nell'applicazione. Questa utility consente di diagnosticare i problemi di prestazioni delle query relativi alle formule.
Per eseguire la utility Ordine di soluzione in Ottimizza cubo, effettuare le operazioni riportate di seguito.
Utilizzare le informazioni contenute nel foglio Essbase.Stats.SolveOrder per adeguare l'ordine di soluzione e ottimizzare le prestazioni delle query. Vedere Ottimizzare il cubo per la modalità ibrida e Ordine di soluzione in modalità ibrida.
Si consiglia di utilizzare la utility Cache di calcolo per scegliere l'impostazione ottimale della cache della calcolatrice per il cubo.
L'utilizzo dell'impostazione corretta della cache della calcolatrice può migliorare notevolmente le prestazioni durante il calcolo di intere dimensioni sparse in uno script di calcolo. Il calcolo di un'intera dimensione sparsa è una tecnica utilizzata per ridurre il numero di blocchi richiesti da una query.
Il valore predefinito della cache della calcolatrice è 200.000 byte. Il valore massimo è 20.000.000 byte.
Si consiglia di impostare la cache della calcolatrice su una dimensione sufficientemente grande per contenere le dimensioni sparse calcolate nello script di calcolo. L'impostazione della cache della calcolatrice su un valore maggiore di quello necessario influisce negativamente sulle prestazioni.
La dimensione più grande rappresenta generalmente la scelta migliore.
L'algoritmo della cache della calcolatrice seleziona le dimensioni sparse da inserire nella cache, a partire dalla prima dimensione sparsa.
Affinché la utility Cache di calcolo funzioni, è necessario generare il cubo.
Nella utility viene visualizzata l'impostazione della cache corretta accanto a ciascuna dimensione fino a 20 MB. Oltre 20 MB, viene visualizzata l'indicazione N/D. In genere, le impostazioni superiori ad alcuni MB non sono necessarie.
Aggiungere questo valore alla sezione Impostazioni applicazione del foglio di lavoro Cube.Settings In alternativa, è possibile impostare il valore nelle impostazioni di configurazione dell'applicazione nell'interfaccia Web di Essbase. È consigliabile eseguire l'arrotondamento per eccesso per consentire uno spazio maggiore.
La utility Distribuzione dati consente di comprendere meglio i dati in un'applicazione, consentendo di prendere decisioni importanti su come ottimizzare il cubo.
Le dimensioni dense definiscono i blocchi in un'applicazione di memorizzazione a blocchi. Lo scenario ideale è quello in cui un blocco contiene dimensioni con il maggior numero di dati e rappresenta il layout di query predominante per tale applicazione. Per le applicazioni di generazione di report finanziari, questo scenario, in genere, implica che le dimensioni Tempo e Conto sia dense.
Il numero di blocchi richiesti dalla query è uno dei fattori che influisce sulle prestazioni delle query. Se il numero di blocchi richiesti è troppo elevato, le prestazioni delle query ne risentono. Per ridurre il numero di blocchi richiesti, calcolare preventivamente i membri di livello superiore di una o più dimensioni sparse. In primo luogo, impostare l'attributo di memorizzazione della dimensione dei membri di livello superiore su un attributo memorizzato (Memorizza o Non condividere), quindi eseguire uno script di calcolo che aggrega tale dimensione utilizzando CALC DIM o AGG.
Per ottimizzare lo script di calcolo utilizzato per aggregare le dimensioni sparse memorizzate, utilizzare il comando FIXPARALLEL. È importante selezionare le dimensioni task corrette. Una dimensione task determina il modo in cui il calcolo viene suddiviso in thread ed eseguito in parallelo. È consigliabile che una o più dimensioni sparse contengano la maggior parte dei dati in modo da ridurre i task vuoti e, idealmente, tali dati dovrebbero essere distribuiti in modo uniforme.
L'esecuzione di questo processo può richiedere molto tempo, in particolare nei modelli più grandi.